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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (843) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.project +11 -11
  5. package/CHANGELOG.md +27 -27
  6. package/README.md +38 -38
  7. package/android.html +18 -18
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-android.js +151 -151
  10. package/build/dev-client.js +8 -8
  11. package/build/example-server.js +157 -157
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +88 -88
  15. package/build/webpack.baseandroid.conf.js +83 -83
  16. package/build/webpack.dev.conf.js +40 -40
  17. package/build/webpack.devandroid.conf.js +33 -33
  18. package/build/webpack.example.conf.js +49 -49
  19. package/build/webpack.hanwei.conf.js +57 -57
  20. package/build/webpack.hwbase.conf.js +78 -78
  21. package/build/webpack.prod.conf.js +80 -80
  22. package/build/webpack.prodandroid.conf.js +60 -60
  23. package/build/webpack.test.conf.js +31 -31
  24. package/build.gradle +14 -14
  25. package/config/dev.env.js +6 -6
  26. package/config/index.js +38 -38
  27. package/config/prod.env.js +3 -3
  28. package/config/test.env.js +6 -6
  29. package/docs/AppBase.md +22 -22
  30. package/docs/Busy.md +14 -14
  31. package/docs/Criteria.md +47 -47
  32. package/docs/CriteriaPaged.md +47 -47
  33. package/docs/DataGrid.md +54 -54
  34. package/docs/DataModel.md +22 -22
  35. package/docs/Dynamic.md +42 -42
  36. package/docs/FormPrint.md +18 -18
  37. package/docs/GetParams.md +11 -11
  38. package/docs/GridTree.md +47 -47
  39. package/docs/HttpBusy.md +13 -13
  40. package/docs/HttpStore.md +29 -29
  41. package/docs/MessageBox.md +28 -28
  42. package/docs/PagedList.md +29 -29
  43. package/docs/Pager.md +21 -21
  44. package/docs/PrintFile.md +38 -38
  45. package/docs/Project.md +23 -23
  46. package/docs/Route.md +105 -105
  47. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  48. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  49. package/docs/Task.md +46 -46
  50. package/docs/TreeList.md +28 -28
  51. package/docs/TreeMixin.md +18 -18
  52. package/docs/all.md +10 -10
  53. package/docs/list.md +42 -42
  54. package/docs/partial.md +75 -75
  55. package/docs/selector.md +82 -82
  56. package/docs/tree.md +40 -40
  57. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  58. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  59. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  60. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  61. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  62. package/examples/AddressList/App.vue +13 -13
  63. package/examples/AddressList/index.html +11 -11
  64. package/examples/AddressList/main.js +13 -13
  65. package/examples/ChangeConfig/App.vue +54 -54
  66. package/examples/ChangeConfig/comp.js +548 -548
  67. package/examples/ChangeConfig/index.html +17 -17
  68. package/examples/ChangeConfig/main.js +13 -13
  69. package/examples/CheckAdvise/App.vue +24 -24
  70. package/examples/CheckAdvise/comp.js +9 -9
  71. package/examples/CheckAdvise/index.html +18 -18
  72. package/examples/CheckAdvise/main.js +13 -13
  73. package/examples/CreatePlan/App.vue +13 -13
  74. package/examples/CreatePlan/index.html +11 -11
  75. package/examples/CreatePlan/main.js +13 -13
  76. package/examples/DispatchList/App.vue +10 -10
  77. package/examples/DispatchList/BaseTree.vue +13 -13
  78. package/examples/DispatchList/Init.vue +22 -22
  79. package/examples/DispatchList/Test.vue +20 -20
  80. package/examples/DispatchList/index.html +11 -11
  81. package/examples/DispatchList/main.js +18 -18
  82. package/examples/PhoneSafePlan/App.vue +36 -36
  83. package/examples/PhoneSafePlan/TestData.js +448 -448
  84. package/examples/PhoneSafePlan/comp.js +33 -33
  85. package/examples/PhoneSafePlan/index.html +17 -17
  86. package/examples/PhoneSafePlan/main.js +13 -13
  87. package/examples/SafePlan/App.vue +83 -83
  88. package/examples/SafePlan/TestData.js +448 -448
  89. package/examples/SafePlan/comp.js +1521 -1521
  90. package/examples/SafePlan/index.html +18 -18
  91. package/examples/SafePlan/main.js +13 -13
  92. package/examples/SafePlan-aode/App.vue +39 -39
  93. package/examples/SafePlan-aode/TestData.js +448 -448
  94. package/examples/SafePlan-aode/comp.js +1132 -1132
  95. package/examples/SafePlan-aode/index.html +17 -17
  96. package/examples/SafePlan-aode/main.js +13 -13
  97. package/examples/SafePlan-liaoyuan/App.vue +53 -53
  98. package/examples/SafePlan-liaoyuan/TestData.js +448 -448
  99. package/examples/SafePlan-liaoyuan/comp.js +1419 -1419
  100. package/examples/SafePlan-liaoyuan/index.html +18 -18
  101. package/examples/SafePlan-liaoyuan/main.js +13 -13
  102. package/examples/SafePlan-shaoguan/App.vue +52 -52
  103. package/examples/SafePlan-shaoguan/TestData.js +448 -448
  104. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  105. package/examples/SafePlan-shaoguan/index.html +18 -18
  106. package/examples/SafePlan-shaoguan/main.js +13 -13
  107. package/examples/SafePlan-tongchuan/App.vue +81 -81
  108. package/examples/SafePlan-tongchuan/TestData.js +448 -448
  109. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  110. package/examples/SafePlan-tongchuan/index.html +18 -18
  111. package/examples/SafePlan-tongchuan/main.js +13 -13
  112. package/examples/SafePlan-wenxi/App.vue +80 -80
  113. package/examples/SafePlan-wenxi/TestData.js +448 -448
  114. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  115. package/examples/SafePlan-wenxi/index.html +18 -18
  116. package/examples/SafePlan-wenxi/main.js +13 -13
  117. package/examples/SafePlan-zhoukou/App.vue +81 -81
  118. package/examples/SafePlan-zhoukou/TestData.js +448 -448
  119. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  120. package/examples/SafePlan-zhoukou/index.html +18 -18
  121. package/examples/SafePlan-zhoukou/main.js +13 -13
  122. package/examples/SafePlanItem/App.vue +33 -33
  123. package/examples/SafePlanItem/TestData.js +448 -448
  124. package/examples/SafePlanItem/comp.js +69 -69
  125. package/examples/SafePlanItem/index.html +17 -17
  126. package/examples/SafePlanItem/main.js +15 -15
  127. package/examples/SafePlanrongcheng/App.vue +52 -52
  128. package/examples/SafePlanrongcheng/TestData.js +448 -448
  129. package/examples/SafePlanrongcheng/comp.js +1133 -1133
  130. package/examples/SafePlanrongcheng/index.html +18 -18
  131. package/examples/SafePlanrongcheng/main.js +13 -13
  132. package/examples/SafePlanrongcheng-gs/App.vue +52 -52
  133. package/examples/SafePlanrongcheng-gs/TestData.js +448 -448
  134. package/examples/SafePlanrongcheng-gs/comp.js +1132 -1132
  135. package/examples/SafePlanrongcheng-gs/index.html +18 -18
  136. package/examples/SafePlanrongcheng-gs/main.js +13 -13
  137. package/examples/SafePlanrongcheng-gssq/App.vue +52 -52
  138. package/examples/SafePlanrongcheng-gssq/TestData.js +448 -448
  139. package/examples/SafePlanrongcheng-gssq/comp.js +1135 -1135
  140. package/examples/SafePlanrongcheng-gssq/index.html +18 -18
  141. package/examples/SafePlanrongcheng-gssq/main.js +13 -13
  142. package/examples/SafePlanrongcheng-mysq/App.vue +52 -52
  143. package/examples/SafePlanrongcheng-mysq/TestData.js +448 -448
  144. package/examples/SafePlanrongcheng-mysq/comp.js +1136 -1136
  145. package/examples/SafePlanrongcheng-mysq/index.html +18 -18
  146. package/examples/SafePlanrongcheng-mysq/main.js +13 -13
  147. package/examples/Test/App.vue +35 -35
  148. package/examples/Test/TestData.js +489 -489
  149. package/examples/Test/index.html +17 -17
  150. package/examples/Test/main.js +13 -13
  151. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  152. package/examples/UserFiles/App.vue +47 -47
  153. package/examples/UserFiles/TestData.js +448 -448
  154. package/examples/UserFiles/comp.js +227 -227
  155. package/examples/UserFiles/index.html +19 -19
  156. package/examples/UserFiles/main.js +13 -13
  157. package/home.html +16 -16
  158. package/index.html +23 -23
  159. package/oa.iml +8 -8
  160. package/package.json +1 -1
  161. package/publish.bat +7 -7
  162. package/release.bat +5 -5
  163. package/src/AndroidApp.vue +26 -26
  164. package/src/App.vue +27 -27
  165. package/src/Widget.vue +13 -13
  166. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  167. package/src/android-bootstrap/less/.csscomb.json +304 -304
  168. package/src/android-bootstrap/less/.csslintrc +19 -19
  169. package/src/android-bootstrap/less/alerts.less +73 -73
  170. package/src/android-bootstrap/less/badges.less +66 -66
  171. package/src/android-bootstrap/less/bootstrap.less +56 -56
  172. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  173. package/src/android-bootstrap/less/button-groups.less +247 -247
  174. package/src/android-bootstrap/less/buttons.less +173 -173
  175. package/src/android-bootstrap/less/carousel.less +269 -269
  176. package/src/android-bootstrap/less/close.less +34 -34
  177. package/src/android-bootstrap/less/code.less +69 -69
  178. package/src/android-bootstrap/less/component-animations.less +33 -33
  179. package/src/android-bootstrap/less/dropdowns.less +216 -216
  180. package/src/android-bootstrap/less/forms.less +626 -626
  181. package/src/android-bootstrap/less/glyphicons.less +305 -305
  182. package/src/android-bootstrap/less/grid.less +84 -84
  183. package/src/android-bootstrap/less/input-groups.less +167 -167
  184. package/src/android-bootstrap/less/jumbotron.less +52 -52
  185. package/src/android-bootstrap/less/labels.less +64 -64
  186. package/src/android-bootstrap/less/list-group.less +141 -141
  187. package/src/android-bootstrap/less/media.less +66 -66
  188. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  189. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  190. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  191. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  192. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  193. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  194. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  195. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  196. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  197. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  198. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  199. package/src/android-bootstrap/less/mixins/image.less +33 -33
  200. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  201. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  202. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  203. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  204. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  205. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  206. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  207. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  208. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  209. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  210. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  211. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  212. package/src/android-bootstrap/less/mixins/size.less +10 -10
  213. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  214. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  215. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  216. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  217. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  218. package/src/android-bootstrap/less/mixins.less +40 -40
  219. package/src/android-bootstrap/less/modals.less +151 -151
  220. package/src/android-bootstrap/less/navbar.less +660 -660
  221. package/src/android-bootstrap/less/navs.less +290 -290
  222. package/src/android-bootstrap/less/normalize.less +424 -424
  223. package/src/android-bootstrap/less/pager.less +76 -76
  224. package/src/android-bootstrap/less/pagination.less +89 -89
  225. package/src/android-bootstrap/less/panels.less +274 -274
  226. package/src/android-bootstrap/less/popovers.less +131 -131
  227. package/src/android-bootstrap/less/print.less +101 -101
  228. package/src/android-bootstrap/less/progress-bars.less +87 -87
  229. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  230. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  231. package/src/android-bootstrap/less/scaffolding.less +161 -161
  232. package/src/android-bootstrap/less/tables.less +262 -262
  233. package/src/android-bootstrap/less/theme.less +291 -291
  234. package/src/android-bootstrap/less/thumbnails.less +36 -36
  235. package/src/android-bootstrap/less/tooltip.less +102 -102
  236. package/src/android-bootstrap/less/type.less +303 -303
  237. package/src/android-bootstrap/less/utilities.less +55 -55
  238. package/src/android-bootstrap/less/variables.less +896 -896
  239. package/src/android-bootstrap/less/wells.less +29 -29
  240. package/src/android.js +16 -16
  241. package/src/androidBase.js +177 -177
  242. package/src/androidTest.js +20 -20
  243. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  244. package/src/bootstrap/less/.csscomb.json +304 -304
  245. package/src/bootstrap/less/.csslintrc +19 -19
  246. package/src/bootstrap/less/alerts.less +73 -73
  247. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  248. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  249. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  250. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  251. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  252. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  253. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  254. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  255. package/src/bootstrap/less/badges.less +66 -66
  256. package/src/bootstrap/less/bootstrap.less +65 -65
  257. package/src/bootstrap/less/breadcrumbs.less +26 -26
  258. package/src/bootstrap/less/button-groups.less +247 -247
  259. package/src/bootstrap/less/buttons.less +172 -172
  260. package/src/bootstrap/less/carousel.less +269 -269
  261. package/src/bootstrap/less/close.less +34 -34
  262. package/src/bootstrap/less/code.less +69 -69
  263. package/src/bootstrap/less/component-animations.less +33 -33
  264. package/src/bootstrap/less/dropdowns.less +216 -216
  265. package/src/bootstrap/less/forms.less +626 -626
  266. package/src/bootstrap/less/glyphicons.less +305 -305
  267. package/src/bootstrap/less/grid.less +84 -84
  268. package/src/bootstrap/less/input-groups.less +167 -167
  269. package/src/bootstrap/less/jumbotron.less +52 -52
  270. package/src/bootstrap/less/labels.less +64 -64
  271. package/src/bootstrap/less/list-group.less +141 -141
  272. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  273. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  274. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  275. package/src/bootstrap/less/media.less +66 -66
  276. package/src/bootstrap/less/mixins/alerts.less +14 -14
  277. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  278. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  279. package/src/bootstrap/less/mixins/buttons.less +69 -69
  280. package/src/bootstrap/less/mixins/center-block.less +7 -7
  281. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  282. package/src/bootstrap/less/mixins/forms.less +90 -90
  283. package/src/bootstrap/less/mixins/gradients.less +59 -59
  284. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  285. package/src/bootstrap/less/mixins/grid.less +122 -122
  286. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  287. package/src/bootstrap/less/mixins/image.less +33 -33
  288. package/src/bootstrap/less/mixins/labels.less +12 -12
  289. package/src/bootstrap/less/mixins/list-group.less +30 -30
  290. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  291. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  292. package/src/bootstrap/less/mixins/opacity.less +8 -8
  293. package/src/bootstrap/less/mixins/pagination.less +24 -24
  294. package/src/bootstrap/less/mixins/panels.less +24 -24
  295. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  296. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  297. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  298. package/src/bootstrap/less/mixins/resize.less +6 -6
  299. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  300. package/src/bootstrap/less/mixins/size.less +10 -10
  301. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  302. package/src/bootstrap/less/mixins/table-row.less +44 -44
  303. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  304. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  305. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  306. package/src/bootstrap/less/mixins.less +40 -40
  307. package/src/bootstrap/less/modals.less +151 -151
  308. package/src/bootstrap/less/navbar.less +660 -660
  309. package/src/bootstrap/less/navs.less +285 -285
  310. package/src/bootstrap/less/normalize.less +424 -424
  311. package/src/bootstrap/less/pager.less +76 -76
  312. package/src/bootstrap/less/pagination.less +89 -89
  313. package/src/bootstrap/less/panels.less +275 -275
  314. package/src/bootstrap/less/popovers.less +131 -131
  315. package/src/bootstrap/less/print.less +101 -101
  316. package/src/bootstrap/less/progress-bars.less +87 -87
  317. package/src/bootstrap/less/responsive-embed.less +35 -35
  318. package/src/bootstrap/less/responsive-utilities.less +194 -194
  319. package/src/bootstrap/less/scaffolding.less +161 -161
  320. package/src/bootstrap/less/stand.less +207 -207
  321. package/src/bootstrap/less/standard.less +503 -503
  322. package/src/bootstrap/less/systemStyle.less +860 -860
  323. package/src/bootstrap/less/tables.less +262 -262
  324. package/src/bootstrap/less/theme.less +291 -291
  325. package/src/bootstrap/less/themeOne.less +36 -36
  326. package/src/bootstrap/less/themeTwo.less +29 -29
  327. package/src/bootstrap/less/thumbnails.less +36 -36
  328. package/src/bootstrap/less/tooltip.less +102 -102
  329. package/src/bootstrap/less/type.less +303 -303
  330. package/src/bootstrap/less/utilities.less +55 -55
  331. package/src/bootstrap/less/variables.less +896 -896
  332. package/src/bootstrap/less/wells.less +29 -29
  333. package/src/components/AloneLoadParams.vue +25 -25
  334. package/src/components/CheckerCount/CheckCountAreaList.vue +306 -306
  335. package/src/components/CheckerCount/CheckCountAreaManage.vue +112 -112
  336. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  337. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  338. package/src/components/ExportExcel.vue +334 -334
  339. package/src/components/FileUpload.vue +696 -696
  340. package/src/components/Hello.vue +39 -39
  341. package/src/components/LeftTree.vue +27 -27
  342. package/src/components/Login.vue +459 -459
  343. package/src/components/Main.vue +393 -393
  344. package/src/components/Test.vue +1478 -1478
  345. package/src/components/Util/FileUpload.vue +138 -138
  346. package/src/components/Util/ImgSelfSafe.vue +126 -126
  347. package/src/components/Util/RightTreeSafe.vue +348 -348
  348. package/src/components/Util/SafecheckUpload.vue +265 -265
  349. package/src/components/Util.js +376 -376
  350. package/src/components/android/AddGas.vue +147 -147
  351. package/src/components/android/AddPlanItem.vue +412 -412
  352. package/src/components/android/AddressList.vue +61 -61
  353. package/src/components/android/AdviseCommit.vue +59 -59
  354. package/src/components/android/AndroidCheckResult.vue +181 -181
  355. package/src/components/android/AndroidDefectDeal.vue +397 -397
  356. package/src/components/android/Announcement.vue +167 -167
  357. package/src/components/android/AreaPlan.vue +503 -503
  358. package/src/components/android/AttendanceTally.vue +116 -116
  359. package/src/components/android/Blank.vue +10 -10
  360. package/src/components/android/CheckNotice.vue +89 -89
  361. package/src/components/android/CheckPlan.vue +257 -257
  362. package/src/components/android/CheckPlanDown.vue +216 -216
  363. package/src/components/android/CheckPlanItems.vue +423 -423
  364. package/src/components/android/CheckUnplanPage.vue +56 -56
  365. package/src/components/android/Checker.vue +12 -12
  366. package/src/components/android/CheckerAnnual.vue +81 -81
  367. package/src/components/android/CheckerAnnualDetail.vue +63 -63
  368. package/src/components/android/CheckerAvarta.vue +82 -82
  369. package/src/components/android/CheckerMonthly.vue +84 -84
  370. package/src/components/android/Checkpage.vue +102 -102
  371. package/src/components/android/CurrentCreate.vue +972 -972
  372. package/src/components/android/DailyworkloadQuery.vue +396 -396
  373. package/src/components/android/Defect.vue +119 -119
  374. package/src/components/android/DeviceDefect.vue +187 -187
  375. package/src/components/android/Devices.vue +327 -327
  376. package/src/components/android/DevicesItem.vue +495 -495
  377. package/src/components/android/DevicesItemm.vue +445 -445
  378. package/src/components/android/DevicesNoncivil.vue +214 -214
  379. package/src/components/android/Devicesm.vue +327 -327
  380. package/src/components/android/DoorService.vue +501 -501
  381. package/src/components/android/EquipmentInspection.vue +348 -348
  382. package/src/components/android/ExtractCheckPlan.vue +268 -268
  383. package/src/components/android/ExtractPlanItem.vue +516 -516
  384. package/src/components/android/FootprintMap.vue +120 -120
  385. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  386. package/src/components/android/LcheckUnplan.vue +108 -108
  387. package/src/components/android/LocalPagedList.js +108 -108
  388. package/src/components/android/LocalPathList.js +109 -109
  389. package/src/components/android/Login.vue +222 -222
  390. package/src/components/android/MasterMain.vue +77 -77
  391. package/src/components/android/Menu.vue +132 -132
  392. package/src/components/android/NavBottom.vue +157 -157
  393. package/src/components/android/PaperAlarm.vue +85 -85
  394. package/src/components/android/PaperAlarmNoncivil.vue +286 -286
  395. package/src/components/android/PaperCooker.vue +325 -325
  396. package/src/components/android/PaperDefect.vue +230 -230
  397. package/src/components/android/PaperDevice.vue +279 -279
  398. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  399. package/src/components/android/PaperFeedback.vue +1444 -1444
  400. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  401. package/src/components/android/PaperFurnace.vue +274 -274
  402. package/src/components/android/PaperFurnaceNoncivil.vue +203 -203
  403. package/src/components/android/PaperHeater.vue +287 -287
  404. package/src/components/android/PaperInnerPlumb.vue +171 -171
  405. package/src/components/android/PaperMessage.vue +1323 -1323
  406. package/src/components/android/PaperMessageNocivil.vue +1288 -1288
  407. package/src/components/android/PaperMeter.vue +351 -351
  408. package/src/components/android/PaperMeterNoncivil.vue +481 -481
  409. package/src/components/android/PaperPieceNoncivil.vue +142 -142
  410. package/src/components/android/PaperPlumb.vue +141 -141
  411. package/src/components/android/PaperPlumbNoncivil.vue +253 -253
  412. package/src/components/android/PaperSet.vue +1956 -1956
  413. package/src/components/android/PaperSetNoncivil.vue +1760 -1760
  414. package/src/components/android/PaperState.vue +390 -390
  415. package/src/components/android/PaperStateNoncivil.vue +383 -383
  416. package/src/components/android/PaperStateNoncivilm.vue +377 -377
  417. package/src/components/android/PaperStatem.vue +346 -346
  418. package/src/components/android/PaperUser.vue +606 -606
  419. package/src/components/android/PaperUserNoncivil.vue +424 -424
  420. package/src/components/android/PaperUserm.vue +356 -356
  421. package/src/components/android/PaperValve.vue +178 -178
  422. package/src/components/android/PaperValveNoncivil.vue +180 -180
  423. package/src/components/android/PhoneChangemeterInfo.vue +107 -107
  424. package/src/components/android/PhoneInfoTable.vue +40 -40
  425. package/src/components/android/PhoneSellInfo.vue +113 -113
  426. package/src/components/android/PhoneState.vue +157 -157
  427. package/src/components/android/PhoneUpUserinfo.vue +929 -929
  428. package/src/components/android/PhoneUserFind.vue +111 -111
  429. package/src/components/android/PlumberAnnual.vue +83 -83
  430. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  431. package/src/components/android/PlumberMonthly.vue +84 -84
  432. package/src/components/android/PostMap.vue +83 -83
  433. package/src/components/android/PrearrangedPlan.vue +247 -247
  434. package/src/components/android/QueryCheckHistory.vue +122 -122
  435. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  436. package/src/components/android/RepairAreaList.vue +71 -71
  437. package/src/components/android/RepairList.vue +206 -206
  438. package/src/components/android/RepairMain.vue +60 -60
  439. package/src/components/android/RepairQuery.vue +262 -262
  440. package/src/components/android/Repairman.vue +12 -12
  441. package/src/components/android/ResAreaList.vue +158 -158
  442. package/src/components/android/RightTree.vue +174 -174
  443. package/src/components/android/SafecheckDevices.vue +1143 -1143
  444. package/src/components/android/SafecheckOrderV.vue +2408 -2408
  445. package/src/components/android/SafecheckState.vue +437 -437
  446. package/src/components/android/SafecheckUser.vue +580 -580
  447. package/src/components/android/ShebeiDevices.vue +980 -980
  448. package/src/components/android/StationMaster.vue +12 -12
  449. package/src/components/android/SwitchValve.vue +230 -230
  450. package/src/components/android/SystemSetting.vue +84 -84
  451. package/src/components/android/ToolsPage.vue +51 -51
  452. package/src/components/android/TrackState.vue +134 -134
  453. package/src/components/android/UploadPage.vue +338 -338
  454. package/src/components/android/checkPlanResult.vue +302 -302
  455. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  456. package/src/components/android/userinfo/SafecheckUserInfo.vue +611 -611
  457. package/src/components/android/wasm/PhoneSafePlan.vue +39 -39
  458. package/src/components/android/wasm/TestData.js +448 -448
  459. package/src/components/android/wasm/comp.js +33 -33
  460. package/src/components/attendance/DailyAttendance.vue +99 -99
  461. package/src/components/attendance/MonthlyAttendance.vue +194 -194
  462. package/src/components/callincheck/CallInCheckMain.vue +146 -146
  463. package/src/components/callincheck/CallInPlan.vue +148 -148
  464. package/src/components/callincheck/UserFileList.vue +155 -155
  465. package/src/components/checkAreaClassification.vue +285 -285
  466. package/src/components/checkerphonestate/Checker.vue +32 -32
  467. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  468. package/src/components/checkplan/CheckDetail.vue +205 -205
  469. package/src/components/checkplan/CheckPlan.vue +59 -59
  470. package/src/components/checkplan/SelectCheckPlan.vue +224 -224
  471. package/src/components/checkplan/SelectMessage.vue +105 -105
  472. package/src/components/checkplan/checkmsg.vue +459 -459
  473. package/src/components/checkplan/checkmsgZG.vue +519 -519
  474. package/src/components/cockpit/Splash.vue +85 -85
  475. package/src/components/cockpit/SplashDetail.vue +66 -66
  476. package/src/components/createcheckplan/CreatePlan.vue +1052 -1052
  477. package/src/components/createcheckplan/CreatePlanWuan.vue +1024 -1024
  478. package/src/components/createcheckplan/DelPlanRepeat.vue +318 -318
  479. package/src/components/createcheckplan/DistributePlan.vue +62 -62
  480. package/src/components/createcheckplan/PlanList.vue +433 -433
  481. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  482. package/src/components/defect/DefectDetail.vue +177 -177
  483. package/src/components/defect/DefectDetailWeixiu.vue +177 -177
  484. package/src/components/defect/DefectList.vue +489 -489
  485. package/src/components/defect/DefectListWeixiu.vue +479 -479
  486. package/src/components/defect/DefectMain.vue +63 -63
  487. package/src/components/defect/DefectMainWeixiu.vue +63 -63
  488. package/src/components/defect/DefectPaper.vue +874 -874
  489. package/src/components/defect/DefectPaperWeiXiu.vue +655 -655
  490. package/src/components/defect/ImageViewer.vue +350 -350
  491. package/src/components/defect/ImgButton.vue +118 -118
  492. package/src/components/defect/ImgsButton.vue +62 -62
  493. package/src/components/defects/AddDefectModal.vue +120 -120
  494. package/src/components/defects/AddDevice.vue +95 -95
  495. package/src/components/defects/CheckPaperItem.vue +92 -92
  496. package/src/components/defects/CheckPaperItems.vue +89 -89
  497. package/src/components/defects/CheckPaperSearch.vue +349 -349
  498. package/src/components/defects/CheckPaperSearchMain.vue +55 -55
  499. package/src/components/defects/DefectCondition.vue +180 -180
  500. package/src/components/defects/DefectModal.vue +101 -101
  501. package/src/components/defects/DefectSeting.vue +98 -98
  502. package/src/components/defects/DefectsQuery.vue +190 -190
  503. package/src/components/defects/DevicesAndItem.vue +39 -39
  504. package/src/components/defects/DevicesSeting.vue +106 -106
  505. package/src/components/equipment/BoilerUsage.vue +105 -105
  506. package/src/components/equipment/CheckRate.vue +324 -324
  507. package/src/components/equipment/CheckerRate.vue +333 -333
  508. package/src/components/equipment/CookerUsage.vue +105 -105
  509. package/src/components/equipment/DeviceUsage.vue +105 -105
  510. package/src/components/equipment/FurnaceUsage.vue +105 -105
  511. package/src/components/equipment/GasMeterUsage.vue +109 -109
  512. package/src/components/equipment/HeaterUsage.vue +105 -105
  513. package/src/components/equipment/MonthCheckRate.vue +340 -340
  514. package/src/components/filialCircle/AddCircleFiliale.vue +114 -114
  515. package/src/components/filialCircle/CircleList.vue +139 -139
  516. package/src/components/filialCircle/CircleManage.vue +69 -69
  517. package/src/components/gasusage/GasUsage.vue +126 -126
  518. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  519. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  520. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  521. package/src/components/inspections/Checked.vue +402 -402
  522. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  523. package/src/components/inspections/InsUploadPage.vue +251 -251
  524. package/src/components/inspections/InspectionList.vue +542 -542
  525. package/src/components/inspections/InspectionLists.vue +544 -544
  526. package/src/components/inspections/InspectionListss.vue +544 -544
  527. package/src/components/inspections/inspectionDevices.vue +986 -986
  528. package/src/components/inspections/inspectionFeedback.vue +720 -720
  529. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  530. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  531. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  532. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  533. package/src/components/issueplan/IssuePlanAction.vue +102 -102
  534. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  535. package/src/components/issueplan/IssuePlanQuery.vue +118 -118
  536. package/src/components/json-editor/SafeJsonEditor.vue +212 -212
  537. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +893 -893
  538. package/src/components/json-editor/assets/jsoneditor-minimalist.js +9750 -9750
  539. package/src/components/json-editor/assets/jsoneditor.css +929 -929
  540. package/src/components/json-editor/assets/jsoneditor.js +36376 -36376
  541. package/src/components/json-editor/example/App.vue +53 -53
  542. package/src/components/json-editor/example/index.html +9 -9
  543. package/src/components/json-editor/example/main.js +10 -10
  544. package/src/components/json-editor/package.json +71 -71
  545. package/src/components/json-editor/vue-json-editor.vue +189 -189
  546. package/src/components/levelplan/AdjustPlan.vue +199 -199
  547. package/src/components/levelplan/CheckerLeft.vue +140 -140
  548. package/src/components/levelplan/CheckerPlanAdjust.vue +304 -304
  549. package/src/components/levelplan/CheckerRight.vue +123 -123
  550. package/src/components/map/AMap.vue +70 -70
  551. package/src/components/map/AMapTrailShow.vue +178 -178
  552. package/src/components/map/AMapTrailShowZk.vue +178 -178
  553. package/src/components/map/FootPrintList.vue +45 -45
  554. package/src/components/map/MapCriteriaData.vue +97 -97
  555. package/src/components/map/checkScreen.vue +727 -727
  556. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  557. package/src/components/metterfiles/MetterFiles.vue +104 -104
  558. package/src/components/metterfiles/MetterfilesAdd.vue +168 -168
  559. package/src/components/metterfiles/MetterfilesChange.vue +162 -162
  560. package/src/components/metterfiles/UserFiles.vue +156 -156
  561. package/src/components/metterfiles/Userfileschange.vue +391 -391
  562. package/src/components/notice/NoticeForm.vue +100 -100
  563. package/src/components/notice/NoticeIssue.vue +20 -20
  564. package/src/components/notice/NoticeQuery.vue +76 -76
  565. package/src/components/paper/PaperList.vue +806 -806
  566. package/src/components/paper/PaperVerify.vue +256 -256
  567. package/src/components/paper/PicViewer.vue +18 -18
  568. package/src/components/paper/PlanChooser.vue +159 -159
  569. package/src/components/paper/RepairVerify.vue +139 -139
  570. package/src/components/paper/RepairVerifyForm.vue +76 -76
  571. package/src/components/paper/VerifyForm.vue +107 -107
  572. package/src/components/paper/filialeCheckInfo.vue +111 -111
  573. package/src/components/pc/AnnouncementPC.vue +524 -524
  574. package/src/components/pc/CheckBook.vue +67 -67
  575. package/src/components/pc/CheckBookList.vue +586 -586
  576. package/src/components/pc/CheckBookManage.vue +998 -998
  577. package/src/components/pc/CheckBookUser.vue +77 -77
  578. package/src/components/pc/DeviceChange.vue +1068 -1068
  579. package/src/components/pc/HiddenChart.vue +494 -494
  580. package/src/components/pc/NewCheckpaper.vue +1333 -1333
  581. package/src/components/pc/PaperChazhiMain.vue +570 -570
  582. package/src/components/pc/PaperDefectMain.vue +584 -584
  583. package/src/components/pc/RoleSelector.vue +125 -125
  584. package/src/components/phonestate/DailyTraffic.vue +57 -57
  585. package/src/components/phonestate/FootprintMap.vue +129 -129
  586. package/src/components/phonestate/LastKnownState.vue +74 -74
  587. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  588. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  589. package/src/components/phonestate/PostMap.vue +82 -82
  590. package/src/components/plancheck/CheckPlanAreaManage.vue +116 -116
  591. package/src/components/plancheck/CheckPlanList.vue +282 -282
  592. package/src/components/planmanage/PlanManage.vue +782 -782
  593. package/src/components/planmanage/checkPlanList.vue +341 -341
  594. package/src/components/planmanage/checkUserList.vue +728 -728
  595. package/src/components/querycheckpaper/CheckPaperList.vue +127 -127
  596. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +67 -67
  597. package/src/components/querycheckpaper/CheckSearchUser.vue +1037 -1037
  598. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  599. package/src/components/querycheckpaper/PaperItems.vue +79 -79
  600. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  601. package/src/components/querycheckpaper/PaperSearchMain.vue +56 -56
  602. package/src/components/querycheckpaper/ShebeiPaperList.vue +121 -121
  603. package/src/components/querycheckpaper/ShebeiPaperSearchUser.vue +67 -67
  604. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  605. package/src/components/report/CheckPlanAreaList.vue +5 -0
  606. package/src/components/report/CheckPlanAreaManage.vue +111 -111
  607. package/src/components/report/CheckPlanUserList.vue +217 -217
  608. package/src/components/report/HiddenSituation.vue +210 -210
  609. package/src/components/report/ManageBusSummary.vue +242 -242
  610. package/src/components/report/SafePlanSale.vue +111 -111
  611. package/src/components/report/SafePlanStatistics.vue +118 -118
  612. package/src/components/rongcheng/AddPlanItem.vue +315 -315
  613. package/src/components/rongcheng/AreaPlan.vue +470 -470
  614. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  615. package/src/components/rongcheng/AspPaperStatem.vue +339 -339
  616. package/src/components/rongcheng/AspiratedAreaPlan.vue +464 -464
  617. package/src/components/rongcheng/AspiratedCurrentCreate.vue +1036 -1036
  618. package/src/components/rongcheng/AspiratedDevices.vue +966 -966
  619. package/src/components/rongcheng/AspiratedOrderV.vue +2376 -2376
  620. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +1019 -1019
  621. package/src/components/rongcheng/AspiratedPaperMessage.vue +1378 -1378
  622. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +1288 -1288
  623. package/src/components/rongcheng/AspiratedUploadPage.vue +293 -293
  624. package/src/components/rongcheng/AspiratedUserInfo.vue +399 -399
  625. package/src/components/rongcheng/CheckCurrentCreate.vue +1046 -1046
  626. package/src/components/rongcheng/CheckPaperList.vue +134 -134
  627. package/src/components/rongcheng/CheckPaperSearchUser.vue +55 -55
  628. package/src/components/rongcheng/CheckPaperSearchUserNo.vue +55 -55
  629. package/src/components/rongcheng/CheckSearchUser.vue +826 -826
  630. package/src/components/rongcheng/CheckSearchUserNo.vue +757 -757
  631. package/src/components/rongcheng/DefectList.vue +560 -560
  632. package/src/components/rongcheng/DefectPaper.vue +638 -638
  633. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  634. package/src/components/rongcheng/PaperListAJ.vue +501 -501
  635. package/src/components/rongcheng/PaperListNPAJ.vue +498 -498
  636. package/src/components/rongcheng/PaperListNPSQ.vue +485 -485
  637. package/src/components/rongcheng/PaperListSQ.vue +483 -483
  638. package/src/components/rongcheng/PaperMessage.vue +1186 -1186
  639. package/src/components/rongcheng/PaperMessageNocivil.vue +1211 -1211
  640. package/src/components/rongcheng/PaperStateNoncivilm.vue +366 -366
  641. package/src/components/rongcheng/PaperStatem.vue +343 -343
  642. package/src/components/rongcheng/PhoneDevicesInfo.vue +233 -233
  643. package/src/components/rongcheng/SafecheckDevices.vue +998 -998
  644. package/src/components/rongcheng/SafecheckOrderV.vue +2476 -2476
  645. package/src/components/rongcheng/SafecheckOrderVCli.vue +2594 -2594
  646. package/src/components/rongcheng/SafecheckUserInfo.vue +439 -439
  647. package/src/components/rongcheng/UploadPage.vue +328 -328
  648. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +285 -285
  649. package/src/components/rongcheng/report/CheckPlanAreaList.vue +419 -419
  650. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  651. package/src/components/safecheck/common/TabButton.vue +157 -157
  652. package/src/components/safecheck/common/Tabs.vue +67 -67
  653. package/src/components/safecheck/queryManage/CheckBookAll.vue +71 -71
  654. package/src/components/safecheck/queryManage/SafeCheckManage.vue +88 -88
  655. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  656. package/src/components/sendsingle/onlineChangeMeter.vue +658 -658
  657. package/src/components/sendsingle/onlineoperation.vue +411 -411
  658. package/src/components/sendsingle/onlinequeryuser.vue +363 -363
  659. package/src/components/shaoguan/CheckPlanUserList.vue +119 -119
  660. package/src/components/shaoguan/DefectDetail.vue +177 -177
  661. package/src/components/shaoguan/DefectList.vue +473 -473
  662. package/src/components/shaoguan/DefectMain.vue +53 -53
  663. package/src/components/shaoguan/DefectPaper.vue +217 -217
  664. package/src/components/shaoguan/PaperList.vue +533 -533
  665. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  666. package/src/components/task/RepairAnnual.vue +79 -79
  667. package/src/components/task/RepairAnnualDetail.vue +49 -49
  668. package/src/components/task/RepairMonthly.vue +91 -91
  669. package/src/components/task/TaskAnnual.vue +77 -77
  670. package/src/components/task/TaskAnnualDetail.vue +47 -47
  671. package/src/components/task/TaskMonthly.vue +89 -89
  672. package/src/components/tongcheng/AreaPlan.vue +458 -458
  673. package/src/components/tongcheng/CurrentCreate.vue +625 -625
  674. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  675. package/src/components/tongcheng/PaperMessage.vue +1270 -1270
  676. package/src/components/tongcheng/PaperMessageNocivil.vue +1228 -1228
  677. package/src/components/tongcheng/PaperSet.vue +1958 -1958
  678. package/src/components/tongcheng/PaperUser.vue +533 -533
  679. package/src/components/userfile/InfoModifyModal.vue +122 -122
  680. package/src/components/userfile/MeterFile.vue +145 -145
  681. package/src/components/userfile/MeterModify.vue +46 -46
  682. package/src/components/userfile/UserFile.vue +118 -118
  683. package/src/components/userfile/UserInfoAudit.vue +252 -252
  684. package/src/components/userfile/UserfileChange.vue +277 -277
  685. package/src/components/userfile/UserinfoModify.vue +117 -117
  686. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  687. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  688. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  689. package/src/expandcss.less +571 -571
  690. package/src/expandcssAndroid.less +520 -520
  691. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  692. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +473 -473
  693. package/src/filiale/ALshan/pc.js +15 -15
  694. package/src/filiale/Util.js +325 -325
  695. package/src/filiale/huatong/android/SafecheckDevices.vue +928 -928
  696. package/src/filiale/huatong/android/SafecheckOrderV.vue +2398 -2398
  697. package/src/filiale/huatong/android.js +14 -14
  698. package/src/filiale/huatong/pc.js +13 -13
  699. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +928 -928
  700. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2383 -2383
  701. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +550 -550
  702. package/src/filiale/liaoyuan/android.js +14 -14
  703. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +483 -483
  704. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +975 -975
  705. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  706. package/src/filiale/liaoyuan/pc/PaperList.vue +657 -657
  707. package/src/filiale/liaoyuan/pc.js +15 -15
  708. package/src/filiale/lixian/android/SafecheckDevices.vue +1022 -1022
  709. package/src/filiale/lixian/android/SafecheckOrderV.vue +2403 -2403
  710. package/src/filiale/lixian/android/SafecheckUserInfo.vue +586 -586
  711. package/src/filiale/lixian/android.js +14 -14
  712. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +461 -461
  713. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  714. package/src/filiale/lixian/pc/PaperChazhiMain.vue +607 -607
  715. package/src/filiale/lixian/pc/PaperDefectMain.vue +617 -617
  716. package/src/filiale/lixian/pc/PaperList.vue +686 -686
  717. package/src/filiale/lixian/pc.js +22 -22
  718. package/src/filiale/rongchuang/pc/checkUserList.vue +594 -594
  719. package/src/filiale/rongchuang/pc.js +13 -13
  720. package/src/filiale/shimen/android/CurrentCreate.vue +979 -979
  721. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  722. package/src/filiale/shimen/android/PhoneSellInfo.vue +88 -88
  723. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  724. package/src/filiale/shimen/android.js +12 -12
  725. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  726. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  727. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  728. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  729. package/src/filiale/shimen/pc/PaperDefectMain.vue +656 -656
  730. package/src/filiale/shimen/pc/PaperList.vue +613 -613
  731. package/src/filiale/shimen/pc/checkmsg.vue +248 -248
  732. package/src/filiale/shimen/pc.js +21 -21
  733. package/src/filiale/tongchuan/android/PaperFeedback.vue +1350 -1350
  734. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1112 -1112
  735. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2575 -2575
  736. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +640 -640
  737. package/src/filiale/tongchuan/android/UploadPage.vue +285 -285
  738. package/src/filiale/tongchuan/android.js +13 -13
  739. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +245 -245
  740. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +956 -956
  741. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  742. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +509 -509
  743. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1267 -1267
  744. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +634 -634
  745. package/src/filiale/tongchuan/pc/PaperList.vue +677 -677
  746. package/src/filiale/tongchuan/pc/checkUserList.vue +593 -593
  747. package/src/filiale/tongchuan/pc.js +21 -21
  748. package/src/filiale/wenxi/android/CurrentCreate.vue +1047 -1047
  749. package/src/filiale/wenxi/android/PaperFeedback.vue +1378 -1378
  750. package/src/filiale/wenxi/android/SafecheckDevices.vue +1053 -1053
  751. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2472 -2472
  752. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +584 -584
  753. package/src/filiale/wenxi/android/UploadPage.vue +285 -285
  754. package/src/filiale/wenxi/android.js +14 -14
  755. package/src/filiale/wenxi/pc/DefectPaper.vue +662 -662
  756. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1169 -1169
  757. package/src/filiale/wenxi/pc/PaperDefectMain.vue +634 -634
  758. package/src/filiale/wenxi/pc/PaperList.vue +860 -860
  759. package/src/filiale/wenxi/pc/checkmsg.vue +302 -302
  760. package/src/filiale/wenxi/pc.js +16 -16
  761. package/src/filiale/wuan/android/AreaPlan.vue +513 -513
  762. package/src/filiale/wuan/android/CurrentCreate.vue +985 -985
  763. package/src/filiale/wuan/android/CurrentCreateSheBei.vue +999 -999
  764. package/src/filiale/wuan/android/SafecheckDevices.vue +1150 -1150
  765. package/src/filiale/wuan/android/SafecheckOrderV.vue +2237 -2237
  766. package/src/filiale/wuan/android/SafecheckUserInfo.vue +571 -571
  767. package/src/filiale/wuan/android.js +17 -17
  768. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  769. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +514 -514
  770. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  771. package/src/filiale/wuan/pc/PaperList.vue +628 -628
  772. package/src/filiale/wuan/pc.js +19 -19
  773. package/src/filiale/wuhai/android/AreaPlan.vue +529 -529
  774. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  775. package/src/filiale/wuhai/android.js +12 -12
  776. package/src/filiale/wuhai/pc/checkUserList.vue +594 -594
  777. package/src/filiale/wuhai/pc.js +13 -13
  778. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  779. package/src/filiale/zhongsheng/android/PhoneUpUserinfo.vue +926 -926
  780. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2447 -2447
  781. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +591 -591
  782. package/src/filiale/zhongsheng/android.js +17 -17
  783. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  784. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +511 -511
  785. package/src/filiale/zhongsheng/pc/InfoModifyModal.vue +123 -123
  786. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1308 -1308
  787. package/src/filiale/zhongsheng/pc/UserInfoAudit.vue +252 -252
  788. package/src/filiale/zhongsheng/pc/UserinfoModify.vue +121 -121
  789. package/src/filiale/zhongsheng/pc.js +15 -15
  790. package/src/filiale/zhoukou/android/AndroidDefectDeal.vue +408 -408
  791. package/src/filiale/zhoukou/android/AreaPlan.vue +543 -543
  792. package/src/filiale/zhoukou/android/CurrentCreate.vue +1014 -1014
  793. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  794. package/src/filiale/zhoukou/android/PhoneUpUserinfo.vue +957 -957
  795. package/src/filiale/zhoukou/android/SafecheckDevices.vue +1174 -1174
  796. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  797. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  798. package/src/filiale/zhoukou/android/UploadPage.vue +301 -301
  799. package/src/filiale/zhoukou/android.js +18 -18
  800. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  801. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +531 -531
  802. package/src/filiale/zhoukou/pc.js +15 -15
  803. package/src/index.js +17 -17
  804. package/src/main.js +4 -4
  805. package/src/plugins/EmojiData.js +514 -514
  806. package/src/plugins/GerJsonConfig.js +59 -59
  807. package/src/plugins/GerJsonObjectConfig.js +44 -44
  808. package/src/plugins/LoadData.js +10 -10
  809. package/src/plugins/LoadParams.js +24 -24
  810. package/src/plugins/LocalPagedList.js +108 -108
  811. package/src/plugins/LocalPathList.js +109 -109
  812. package/src/rongcheng-android.js +193 -193
  813. package/src/rongcheng.js +304 -304
  814. package/src/safecheck-android.js +225 -225
  815. package/src/safecheck.js +723 -723
  816. package/src/shaoguan-android.js +176 -176
  817. package/src/shaoguan.js +276 -276
  818. package/src/stores/AppData.js +46 -46
  819. package/src/stores/wxconfig.js +10 -10
  820. package/src/tongchengsafe-android.js +162 -162
  821. package/src/tongchengsafecheck.js +267 -267
  822. package/src/utils/GerJsonObjectConfig.js +51 -51
  823. package/src/utils/LdapHelper.js +99 -99
  824. package/src/utils/getNowDate.js +33 -33
  825. package/test/SearchList.test.js +14 -14
  826. package/test/e2e/custom-assertions/elementCount.js +26 -26
  827. package/test/e2e/nightwatch.conf.js +40 -40
  828. package/test/e2e/runner.js +30 -30
  829. package/test/e2e/specs/test.js +13 -13
  830. package/test/unit/.eslintrc +5 -5
  831. package/test/unit/TestUtil.js +62 -62
  832. package/test/unit/context.html +20 -20
  833. package/test/unit/index.js +13 -13
  834. package/test/unit/init.js +11 -11
  835. package/test/unit/karma.conf.js +53 -53
  836. package/test/unit/specs/Devices.spec.js +18 -18
  837. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  838. package/test/unit/specs/getobjconfig.spec.js +37 -37
  839. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  840. package/test/unit/specs/safePlanItem.spec.js +30 -30
  841. package/test/unit/specs/safecheck-android.spec.js +7 -7
  842. package/test/unit/specs/safecheck.spec.js +127 -127
  843. package/yarn-error.log +140 -140
@@ -1,1052 +1,1052 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="basic-main">
4
- <!-- <button class="btn btn-xs" v-show="!criteriaShow" @click="show()">-->
5
- <!-- <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>-->
6
- <!-- </button>-->
7
- <criteria-paged :model="model" v-ref:paged>
8
- <criteria partial='criteria' class="search_area" @condition-changed='$parent.search' v-ref:criteria>
9
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
10
- <div class="row">
11
- <div class="col-sm-2" >
12
- <label class="font_normal_body">用户编号</label>
13
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code" id="f_userinfo_code" style="width:60%"
14
- placeholder="用户编号" condition="f_userinfo_code like '%{}%'">
15
- </div>
16
- <div class="col-sm-2" >
17
- <label class="font_normal_body">用户名称</label>
18
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name" id="f_user_name" style="width:60%"
19
- placeholder="用户名称" condition="f_user_name like '%{}%'">
20
- </div>
21
- <div class="col-sm-2 col-md-2 col-lg-2 " >
22
- <label class="font_normal_body">小区名称</label>
23
- <!-- <input type="text" class="input_search" style="width: 60%" v-model="model.f_residential_area" id="f_residential_area" style="width:60%"-->
24
- <!-- placeholder="小区名称" condition="f_residential_area like '%{}%'">-->
25
-
26
- <v-select :value.sync="model.f_residential_area"
27
- :value-single="true"
28
- v-model="model.f_residential_area"
29
- :options='$parent.$parent.areaslist'
30
- placeholder='请选择'
31
- condition="f_residential_area = '{}'"
32
- close-on-select
33
- search="true">
34
- </v-select>
35
- </div>
36
- <div class="col-sm-2 col-md-2 col-lg-2 " >
37
- <label class="font_normal_body">地址信息</label>
38
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_address" id="f_address" style="width:60%"
39
- placeholder="地址信息" condition="f_address like '%{}%'">
40
- </div>
41
-
42
-
43
- <div class="col-sm-4" style="float: right" >
44
- <div style="float: right; margin-top: 8px" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
45
- <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.itemAdd()" v-if="$parent.$parent.checkplan">添加</button>
46
- <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.itemAddBack()" v-if="$parent.$parent.checkplan">返回</button>
47
- <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.AllPlan()" v-if="!$parent.$parent.checkplan">计划生成</button>
48
- <button class="button_search button_spacing" style="float: right;margin-top: 8px" @click="search()">查询</button>
49
- </div>
50
- </div>
51
- <div class="row" v-show="$parent.$parent.criteriaShow">
52
- <div class="col-sm-2 col-md-2 col-lg-2 " >
53
- <label class="font_normal_body">楼栋号码</label>
54
- <input type="text" class="input_search" v-model="model.f_building" id="f_building" style="width:60%"
55
- placeholder="楼栋号码" condition="f_building = '{}'">
56
- </div>
57
- <div class="col-sm-2 col-md-2 col-lg-2" >
58
- <label class="font_normal_body">单元号码</label>
59
- <input type="text" class="input_search" v-model="model.f_unit" id="f_unit" style="width:60%"
60
- placeholder="单元号码" condition="f_unit = '{}'">
61
- </div>
62
- <div class="col-sm-2 col-md-2 col-lg-2 " >
63
- <label class="font_normal_body">楼层号码</label>
64
- <input type="text" class="input_search" v-model="model.f_floor" id="f_floor" style="width:60%"
65
- placeholder="楼层号码" condition="f_floor = '{}'">
66
- </div>
67
- <div class="col-sm-2 col-md-2 col-lg-2 " >
68
- <label class="font_normal_body">片区名称</label>
69
- <v-select style="width:60% "
70
- class="select select_list"
71
- :value.sync="model.f_area"
72
- v-model="model.f_area"
73
- :options='$parent.$parent.areas'
74
- placeholder='片区/管理站'
75
- condition="f_slice_area like '%{}%'"
76
- close-on-select>
77
- </v-select>
78
- </div>
79
-
80
- <div class="col-sm-2 col-md-2 col-lg-2 " >
81
- <label class="font_normal_body">用户类型</label>
82
- <v-select id="f_usertype"
83
- placeholder='用户类型' style="width:60% "
84
- class="select select_list"
85
- :value.sync="model.f_usertype"
86
- :value-single="true"
87
- :options='$parent.$parent.usertypes'
88
- v-model="model.f_usertype"
89
- condition="f_user_type = '{}'"
90
- close-on-select clear-button> </v-select>
91
- </div>
92
-
93
- <div class="col-sm-2 col-md-2 col-lg-2 " >
94
- <label class="font_normal_body">安检状态</label>
95
- <v-select :value.sync="model.f_last_check_state" :options='$parent.$parent.checkStates' placeholder='上次安检状态' close-on-select
96
- style="width:60% " class="select select_list" v-model='model.f_last_check_state' condition="f_last_check_state = '{}'">
97
- </v-select>
98
- </div>
99
- <div class="col-sm-2 col-md-2 col-lg-2 " >
100
- <label class="font_normal_body">调&nbsp;&nbsp;压&nbsp;箱</label>
101
- <v-select :value.sync="model.f_adjustable_id" :options='$parent.$parent.adjustables' placeholder='调压箱' close-on-select
102
- style="width:60% " class="select select_list" v-model='model.f_adjustable_id' condition="f_adjustable_id = '{}'" :search='true'></v-select>
103
- </div>
104
- <div class="col-sm-4" style="width: 20%" v-if="$parent.$parent.criteriaShow">
105
- <label class="font_normal_body">开始时间</label>
106
- <datepicker
107
- class="select_list select"
108
- :value.sync="model.f_check_start"
109
- placeholder='开始时间' style="width: 60%"
110
- :disabled-days-of-week="[]"
111
- :format="'yyyy-MM-dd'"
112
- :show-rest-button="reset"
113
- v-model="model.f_check_start"
114
- condition="f_createfile_date > ='{} 00:00:00'">
115
- </datepicker>
116
- </div>
117
- <div class="col-sm-4" style="width: 20%" v-if="$parent.$parent.criteriaShow">
118
- <label class="font_normal_body">结束时间</label>
119
- <datepicker
120
- :value.sync="model.f_check_end"
121
- placeholder='结束时间' style="width: 60%"
122
- :disabled-days-of-week="[]"
123
- :format="'yyyy-MM-dd'"
124
- :show-rest-button="reset"
125
- v-model="model.f_check_end"
126
- condition="f_createfile_date <= '{} 23:59:59'">
127
- </datepicker>
128
- </div>
129
- <div class="col-sm-2">
130
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
131
- <right-tree @re-res="$parent.$parent.getRes" :initresid="$login.f.orgid">
132
- </right-tree>
133
- </div>
134
- <div class="col-sm-2 col-md-2 col-lg-2" style="width: 25%" >
135
- <label class="font_normal_body">距离上次安检</label>
136
- <input type="text" class="input_search" v-model="model.f_start_time" style="width:18%"
137
- value="12"
138
- placeholder="" condition="f_time >= '{}'">
139
-
140
- <input type="text" class="input_search" v-model="model.f_end_time" style="width:18%"
141
- placeholder="" condition="f_time <= '{}'">
142
- <v-select
143
- placeholder=''
144
- :width="'20%'"
145
- class="select select_list"
146
- :value.sync="$parent.$parent.model.timetype"
147
- :value-single="true"
148
- :options='$parent.$parent.timetypes'
149
- close-on-select clear-button> </v-select>
150
- </div>
151
- <!-- <div class="col-sm-2 col-md-2 col-lg-2" >-->
152
- <!-- <label class="font_normal_body">是否包含新开户</label>-->
153
- <!-- <v-select -->
154
- <!-- placeholder='用户类型' style="width:60% "-->
155
- <!-- class="select select_list"-->
156
- <!-- :value.sync="$parent.$parent.model.includeNew"-->
157
- <!-- :value-single="true"-->
158
- <!-- :options='$parent.$parent.includeNews'-->
159
- <!-- v-model="model.includeNew"-->
160
- <!-- condition="f_last_check_date = '{}'"-->
161
- <!-- close-on-select clear-button> </v-select>-->
162
- <!-- </div>-->
163
- </div>
164
- <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
165
- <div slot="modal-header" class="modal-header">
166
- <h4 class="modal-title">
167
- 生成计划
168
- </h4>
169
- </div>
170
- <div slot="modal-body" class="modal-body">
171
- <div class="row">
172
- <div class="col-sm-6 form-group form-fix-width">
173
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划名称</label>
174
- <input class="input_search" style="width: 60%" type="text" v-model="$parent.$parent.checkboxModel.f_plan_name" placeholder="计划名称(必填)">
175
- </div>
176
- <div class="col-sm-6 form-group form-fix-width">
177
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">是否共享</label>
178
- <v-select :value="$parent.$parent.IsShare" style="width:60% "
179
- class="select select_list"
180
- v-on:change="$parent.$parent.IsShareschange" :value-single="true"
181
- :options='$parent.$parent.IsShares' close-on-select clear-button> </v-select>
182
- </div>
183
- <div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.IsShare == '否'">
184
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安&nbsp;检&nbsp;员&nbsp;</label>
185
- <v-select id="checker" :value="$parent.$parent.checker" style="width:60% "
186
- class="select select_list"
187
- v-on:change="$parent.$parent.checkerchange" :value-single="true"
188
- :options='$parent.$parent.checkers' close-on-select clear-button> </v-select>
189
- </div>
190
- <!--<div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.IsShare == '是'">-->
191
- <!--<label class="control-label">站点</label>-->
192
- <!--<v-select id="checker" :value="$parent.$parent. "-->
193
- <!--v-on:change="$parent.$parent." :value-single="true"-->
194
- <!--:options='$parent.$parent.' close-on-select clear-button> </v-select>-->
195
- <!--</div>-->
196
- <div class="col-sm-6 form-group form-fix-width">
197
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划年份</label>
198
- <v-select id="c_plan_year" :value.sync="$parent.$parent.f_plan_year" style="width:60% "
199
- class="select select_list"
200
- :options='$parent.$parent.c_year_list' close-on-select clear-button> </v-select>
201
- </div>
202
- <div class="col-sm-6 form-group form-fix-width">
203
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划月份</label>
204
- <v-select id="c_plan_month" :value.sync="$parent.$parent.f_plan_month" style="width:60% "
205
- class="select select_list"
206
- :options='$parent.$parent.c_month_list' close-on-select clear-button> </v-select>
207
- </div>
208
- <div class="col-sm-6 form-group form-fix-width">
209
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安检类型</label>
210
- <v-select id="f_safecheck_type" :value.sync="$parent.$parent.checkboxModel.f_safecheck_type" style="width:60% "
211
- class="select select_list"
212
- :value-single="true"
213
- :options='$parent.$parent.c_type_list' close-on-select clear-button> </v-select>
214
- </div>
215
- <data-grid :model="$parent.$parent.model2" partial='list' v-ref:grid2 class="list_area table_sy">
216
- <template partial='head'>
217
- <tr>
218
- <th>安检员</th>
219
- <th>计划数</th>
220
- <th>已检</th>
221
- <th>未检</th>
222
- </tr>
223
- </template>
224
- <template partial='body'>
225
- <td style="text-align: center">{{row.f_checker}}</td>
226
- <td style="text-align: center">{{row.c}}</td>
227
- <td style="text-align: center">{{row.checked}}</td>
228
- <td style="text-align: center">{{row.unchecked}}</td>
229
- </template>
230
- <template partial="foot">
231
- </template>
232
- </data-grid>
233
- <!--<div class="col-sm-6 form-group form-fix-width">-->
234
- <!--<label class="control-label">有效起始</label>-->
235
- <!--<datepicker-->
236
- <!--:value.sync="$parent.$parent.f_effective_start_time"-->
237
- <!--placeholder='最后安检时间起始'-->
238
- <!--:disabled-days-of-week="[]"-->
239
- <!--:format="'yyyy-MM-dd'"-->
240
- <!--:show-rest-button="reset"-->
241
- <!--v-model = "$parent.$parent.f_effective_start_time">-->
242
- <!--</datepicker>-->
243
- <!--</div>-->
244
- <!--<div class="col-sm-6 form-group form-fix-width">-->
245
- <!--<label class="control-label">有效结束</label>-->
246
- <!--<datepicker-->
247
- <!--:value.sync="$parent.$parent.f_effective_end_time"-->
248
- <!--placeholder='最后安检时间起始'-->
249
- <!--:disabled-days-of-week="[]"-->
250
- <!--:format="'yyyy-MM-dd'"-->
251
- <!--:show-rest-button="reset"-->
252
- <!--v-model = "$parent.$parent.f_effective_end_time">-->
253
- <!--</datepicker>-->
254
- <!--</div>-->
255
- </div>
256
- </div>
257
- <div slot="modal-footer" class="modal-footer">
258
- <span style="color:red;float: left" v-show = "$parent.$parent.repeated > 0">此次下发共有{{$parent.$parent.repeated}}单重复</span>
259
- <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('override')">覆盖下发</button>
260
- <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('skip')">跳过下发</button>
261
- <button type="button" v-show="$parent.$parent.repeated == 0" class="button_spacing button_search" @click="$parent.$parent.confirm('create')">生成</button>
262
- <button type="button" class="button_spacing button_clear" @click="$parent.$parent.cancel">取消</button>
263
- </div>
264
- </modal>
265
- <modal :show.sync="$parent.$parent.showAddModal" v-ref:addModal backdrop="false">
266
- <div slot="modal-header" class="modal-header">
267
- <h4 class="modal-title">
268
- 添加计划
269
- </h4>
270
- </div>
271
- <div slot="modal-body" class="modal-body">
272
- <div class="row">
273
- <div class="col-sm-6 form-group form-fix-width">
274
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划名称</label>
275
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_name">
276
- </div>
277
- <div class="col-sm-6 form-group form-fix-width">
278
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">是否共享</label>
279
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.IsShare">
280
- </div>
281
- <div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.checkboxModel.IsShare == '否'">
282
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安&nbsp;检&nbsp;员</label>
283
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.checker">
284
- </div>
285
- <div class="col-sm-6 form-group form-fix-width">
286
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划年份</label>
287
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_year">
288
- </div>
289
- <div class="col-sm-6 form-group form-fix-width">
290
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划月份</label>
291
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_month">
292
- </div>
293
- <div class="col-sm-6 form-group form-fix-width">
294
- <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安检类型</label>
295
- <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_safecheck_type">
296
- </div>
297
- </div>
298
- </div>
299
- <div slot="modal-footer" class="modal-footer">
300
- <span style="color:red;float: left" v-show = "$parent.$parent.repeated > 0">此次下发共有{{$parent.$parent.repeated}}单重复</span>
301
- <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('override')">覆盖下发</button>
302
- <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('skip')">跳过下发</button>
303
- <button type="button" v-show="$parent.$parent.repeated == 0" class="button_spacing button_search" @click="$parent.$parent.confirm('create')">添加</button>
304
- <button type="button" class="button_spacing button_clear" @click="$parent.$parent.cancel">取消</button>
305
- </div>
306
- </modal>
307
- </div>
308
- </criteria>
309
- <data-grid :model="model" class="list_area table_sy" style="overflow: hidden" partial='list'>
310
- <template partial='head'>
311
- <tr>
312
- <!--<th><nobr>全选<input type="checkbox" @click='$parent.$parent.$parent.changeStates' v-model='$parent.$parent.$parent.checkedAll'></nobr></th>-->
313
- <!-- <th><nobr></nobr></th>-->
314
- <th><nobr>用户编号</nobr></th>
315
- <th><nobr>用户名称</nobr></th>
316
- <th><nobr>用户电话</nobr></th>
317
- <th><nobr>用户类型</nobr></th>
318
- <th><nobr>小区名称</nobr></th>
319
- <th><nobr>楼号</nobr></th>
320
- <th><nobr>单元</nobr></th>
321
- <th><nobr>楼层</nobr></th>
322
- <th><nobr>门牌号</nobr></th>
323
- <th><nobr>地址</nobr></th>
324
- <th><nobr>隐患情况</nobr></th>
325
- <!-- <th><nobr>用户家庭情况备注</nobr></th>-->
326
- <th><nobr>最后安检日期</nobr></th>
327
- <th><nobr>最后安检状态</nobr></th>
328
- </tr>
329
- </template>
330
- <template partial='body' >
331
- <!-- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center"><nobr><input type="checkbox" v-model="row.checked" v-bind:checked="row.checked" @click="$parent.$parent.$parent.addChecked(row)"></nobr></td>-->
332
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_userinfo_code}}</td>
333
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_user_name}}</td>
334
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_user_phone}}</td>
335
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_user_type}}</td>
336
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_residential_area}}</td>
337
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_building}}</td>
338
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_unit}}</td>
339
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_floor}}</td>
340
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_room}}</td>
341
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_address}}</td>
342
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">
343
- <div v-if="row.danger"><div v-if="row.danger.result=='有隐患'"><a @click="$parent.$parent.$parent.gotodanger(row.danger)">{{row.danger.result}}</a></div>
344
- <div v-if="row.danger.result!='有隐患'"></div></div>
345
- </td>
346
- <!-- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_user_family_remarks}}</td>-->
347
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_last_check_date}}</td>
348
- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_last_check_state}}</td>
349
- </template>
350
- </data-grid>
351
- </criteria-paged>
352
- </div>
353
- </div>
354
-
355
-
356
- <modal :show.sync="showdanger" v-ref:modal backdrop="false">
357
- <header slot="modal-header" class="modal-header">
358
- <button type="button" class="close" @click="colsedanger"><span>&times;</span></button>
359
- <h4 style="text-align: center" class="modal-title">隐患内容</h4>
360
- </header>
361
- <article slot="modal-body" class="modal-body">
362
- <div class="form-group">
363
- <center><div v-html="dangerinfo"></div></center>
364
-
365
- </div>
366
- </article>
367
- <div slot="modal-footer" class="modal-footer">
368
- <button type="button" class="button_spacing button_search" @click="colsedanger()">关闭</button>
369
- </div>
370
- </modal>
371
-
372
-
373
- </template>
374
-
375
- <script>
376
- import { PagedList } from 'vue-client'
377
- import { HttpResetClass } from 'vue-client'
378
- import co from 'co'
379
- import * as Util from '../Util'
380
- import Vue from 'vue'
381
- import AppData from '../../stores/AppData'
382
-
383
- let AddItem = function * (self) {
384
- self.checkboxModel.f_filialeid = self.$login.f.orgid
385
- self.checkboxModel.f_orgstr = self.$login.f.orgpathstr
386
- self.checkboxModel.planid = self.checkplan.id
387
- self.checkboxModel.rows = self.checkrows
388
- self.checkboxModel.model = self.model
389
- self.checkboxModel.sqlname = self.sqlname
390
- self.checkboxModel.f_filialeids = self.model.f_filialeids
391
- self.checkboxModel.createWay = self.createWay
392
- self.checkboxModel.repeated = self.repeated
393
- console.log('self.model',self.model)
394
- self.checkboxModel.planWay = 'add'
395
- yield self.$resetpost('rs/logic/GenCallInAllPlan', {data: self.checkboxModel},{resolveMsg: null, rejectMsg: null}).then((res)=>{
396
- console.log(res.data)
397
- if(res.data.code == 200) {
398
- self.$showMessage(`添加成功!现在${self.checkplan.f_plan_name}共有${res.data.countItem}个计划!`)
399
- self.$emit('finish')
400
- }else {
401
- self.$showMessage("计划添加失败!")
402
- }
403
- self.isBusy = false
404
- })
405
- }
406
-
407
- let saveGen = function * (self) {
408
- self.checkboxModel.f_create_time = self.$login.toStandardTimeString()
409
- self.checkboxModel.f_plan_type = '预约计划'
410
- self.checkboxModel.f_issued = '否'
411
- self.checkboxModel.f_filialeid = self.$login.f.orgid
412
- self.checkboxModel.f_filialeids = self.model.f_filialeids
413
- self.checkboxModel.f_orgstr = self.$login.f.orgpathstr
414
- self.checkboxModel.f_plan_year = self.f_plan_year[0]
415
- self.checkboxModel.f_plan_month = self.f_plan_month[0]
416
- self.checkboxModel.f_subcompany = self.$login.f.f_fengongsi
417
- self.checkboxModel.f_create_operator = self.$login.f.name
418
- self.checkboxModel.f_effective_start_time = self.f_effective_start_time
419
- self.checkboxModel.f_effective_end_time = self.f_effective_end_time
420
- self.checkboxModel.model = self.model
421
- self.checkboxModel.sqlname = self.sqlname
422
- self.checkboxModel.planWay = 'create'
423
- self.checkboxModel.createWay = self.createWay
424
- self.checkboxModel.repeated = self.repeated
425
- yield self.$resetpost('rs/logic/GenCallInAllPlan', {data: self.checkboxModel}, {resolveMsg: null, rejectMsg: null})
426
- .then((respanse) => {
427
- console.log(respanse)
428
- self.showModal = false
429
- if (respanse.data.code == 200) {
430
- self.$showMessage("预约计划生成成功!")
431
- self.checkrows = []
432
- self.creatPlanWay = ''
433
- self.checker = {}
434
- self.IsShare = '否'
435
- self.checkboxModel = {}
436
- self.$refs.paged.$refs.criteria.search()
437
- self.createWay = ''
438
- } else {
439
- self.$showMessage("预约计划生成失败!")
440
- }
441
- self.isBusy = false
442
- })
443
- }
444
-
445
- let checkItems = function * (self) {
446
- let data = {}
447
- self.repeated = -1
448
- let checkIdArray = []
449
- data = self.model.params
450
- console.log('data ===> '+JSON.stringify(data))
451
- yield self.$resetpost('rs/sql/getExistCheckItem/n', {data:data}, {resolveMsg: null, rejectMsg: null})
452
- .then((res) => {
453
- console.log(res.data.n)
454
- self.repeated = res.data.n
455
- })
456
- }
457
-
458
- let seachData = function * (self) {
459
- let getParams = yield self.$resetpost('rs/logic/getSaleInitData', {data: {f_orgid: self.$login.f.orgid}}, {
460
- resolveMsg: null,
461
- rejectMsg: '获取营收参数出错!!!'
462
- })
463
- console.log('获取营收参数', getParams)
464
- if (getParams.data) {
465
- let arr = []
466
- getParams.data.adjustable.forEach((item, index) => {
467
- let temp = {}
468
- temp.label = `[${item.f_adjustable_id}]-${item.f_adjustable_name}`
469
- temp.value = `${item.id}`
470
- arr.push(temp)
471
- })
472
- self.adjustables = [{label: '全部', value: ''}, ...arr]
473
- }
474
- }
475
- let select = function* (self) {
476
- console.log(3)
477
- let http = new HttpResetClass()
478
- let getGasman = yield http.load('POST', '/rs/search', {
479
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
480
- userid: self.$login.f.id
481
- }, {resolveMsg: null, rejectMsg: null})
482
- console.log(4)
483
- console.log('获取安检员', getGasman)
484
- getGasman.data.forEach((checker) => {
485
- self.checkers.push({label: checker.name, value: checker})
486
- })
487
- }
488
-
489
- let searchSafeCycle= function* (self){
490
- console.log('获取民用非民用安检周期')
491
- let http = new HttpResetClass()
492
- yield http.load('POST', 'rs/logic/getSafeCheckCycle', {},{resolveMsg: null, rejectMsg: null}).then((res)=>{
493
- console.log('安检周期',res.data)
494
- if(res.data.code == 200){
495
- self.civil = res.data.civil.value
496
- self.civilian = res.data.civilian.value
497
- self.model.safeCycle = self.civil
498
- }else{
499
- self.$showMessage(res.data.msg)
500
- }
501
- })
502
- }
503
- export default {
504
- title: '计划生成',
505
- data() {
506
- let options = []
507
- let year = (new Date()).getFullYear()
508
- for (let i = year; i <= year + 3; i++)
509
- options.push({label: i + '', value: i + ''})
510
- let moptions = []
511
- for (let i = 1; i <= 12; i++)
512
- moptions.push({label: i + '', value: i + ''})
513
- let model1 = new PagedList('rs/sql/根据安检员查询用户档案', 50,null)
514
- let model = new PagedList('rs/sql/根据安检员查询用户档案', 50, {
515
- orderitem: '"f_residential_area,f_address"',
516
- timetype: 'this.timetype',
517
- f_filialeids: 'this.f_filialeids'
518
- })
519
- // 默认搜索12个月
520
- model.timetype = 'mm'
521
- model.f_filialeids = '('+this.$login.f.orgid+')'
522
- let model2 = new PagedList('rs/sql/planCount', 50, {
523
- f_filialeids: 'this.f_filialeids'
524
- })
525
- model2.f_filialeids = '('+this.$login.f.orgid+')'
526
- return {
527
- isBusy: false,
528
- civil:'', //民用安检周期
529
- civilian:'', //非民用安检周期
530
- SafeCheckXZs: [{label: '未安检', value: '未安检'}, {label: '已安检', value: '已安检'},{label: '应安检', value: '应安检'},{label: '超期安检', value: '超期安检'}], // 安检筛选选项
531
- SafeCheckSXs: [{label: '是', value: '是'}, {label: '否', value: '否'}, {label: '全部', value: ''},],
532
- IsShares: [{label: '是', value: '是'}, {label: '否', value: '否'}],
533
- IsShare:'否',
534
- checker: {},
535
- criteriaShow: false,
536
- model: model,
537
- model1:model,
538
- model2:model2,
539
- checkers: [],
540
- chosenOrg: {id: 0},
541
- showModal: false,
542
- showAddModal: false,
543
- checkedAll: false,
544
- checkrows: [],
545
- adjustables: [],
546
- checkStates: this.$appdata.getParam('安检状态'),
547
- f_plan_year: year + '',
548
- f_plan_month: moptions[new Date().getMonth()].value,
549
- f_effective_start_time:'', //计划有效起始时间
550
- f_effective_end_time:'', //计划有效结束时间
551
- checkboxModel: {
552
- f_plan_name: '',
553
- f_plan_year: '',
554
- f_plan_month: '',
555
- f_safecheck_type:'年度普建',
556
- IsShare: '',
557
- checker: ''
558
- },
559
- c_year_list: options,
560
- c_month_list: moptions,
561
- c_type_list:this.$appdata.getParam('安检类型'),
562
- areas: this.areas(),
563
- areaslist: [],
564
- checkstatus: this.checkstatus(),
565
- usertypes: this.usertypes(),
566
- timetypes: this.timetypes(),
567
- userstates: this.userstates(),
568
- sqlname:'',
569
- creatPlanWay:'',
570
- showdanger:false,
571
- dangerinfo:null,
572
- repeated: 0, //下发时重复的安检单条数
573
- createWay: ''
574
- }
575
- },
576
- props: {
577
- checkplan: { // 传入一条安检计划信息
578
- type: Object
579
- },
580
- rowsdata:[],
581
- additemshow:{
582
- type:Boolean,
583
- default:false
584
- }
585
- },
586
- ready() {
587
- this.getAreaList()
588
- console.log('this.arealist===> ' + JSON.stringify(this.areaslist))
589
- console.log('CreatePlan启动了')
590
- if (this.rowsdata){
591
- console.log('传进数据了')
592
- this.model.rows = this.rowsdata
593
- }
594
- this.model.chosenOrg = {id: 0}
595
- console.log(this.$login.f)
596
- this.model.f_filialeid = this.$login.f.orgid
597
- // this.model.f_filiale = this.$login.f.f_fengongsi
598
- this.model.f_OrgStr = this.$login.f.orgpathstr
599
- console.log(0)
600
- let param = seachData(this)
601
- console.log(1)
602
- co(param)
603
- console.log(2)
604
- let gen = select(this)
605
- co(gen)
606
- let single = searchSafeCycle(this)
607
- co(single)
608
- if(this.checkplan){
609
- console.log('this.checkplan')
610
- console.log(this.checkplan)
611
- this.checkboxModel.f_plan_name = this.checkplan.f_plan_name
612
- this.checkboxModel.f_plan_year = this.checkplan.f_plan_year
613
- this.checkboxModel.f_plan_month = this.checkplan.f_plan_month
614
- if(this.checkplan.f_checker){
615
- this.checkboxModel.IsShare = '否'
616
- this.checkboxModel.checker = this.checkplan.f_checker
617
- }else {
618
- this.checkboxModel.IsShare = '是'
619
- }
620
- console.log('this.checkboxModel')
621
- console.log(this.checkboxModel)
622
- }
623
- let f_start_time = this.$appdata.getSingleValue('安检间隔月份')
624
- if(f_start_time){
625
- this.$refs.paged.$refs.criteria.model.f_start_time = f_start_time
626
- }
627
- },
628
- methods: {
629
-
630
- itemAddBack(){
631
- this.$emit('finish')
632
- },
633
- itemAdd(val){
634
- if(this.model.rows.length == 0){
635
- this.$showMessage("暂无可添加的计划!")
636
- return
637
- }
638
- this.checkExist()
639
- this.showAddModal = true
640
- },
641
- // 选择安检员
642
- IsShareschange(val){
643
- this.IsShare = val
644
- if(val == '是'){
645
- this.checker = null
646
- }
647
- },
648
- checkerchange(val) {
649
- this.checkboxModel.f_checker = val.name
650
- this.checkboxModel.f_checker_id = val.id
651
- },
652
- dangerplan(){
653
- this.$resetpost('rs/sql/getRemind', {data:{condition :` 1 = 1 and f_filialeid in ${this.model.f_filialeids}`}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
654
-
655
- if (res.data.length>0){
656
- let a =0
657
- let b =0
658
- let c =0
659
-
660
- for(let row of res.data){
661
- let aa=''
662
- let bb =JSON.parse(row.f_last_check_result)
663
- /* if (bb.result){
664
- aa=aa+bb.result
665
- if (bb.data.length>0){
666
- aa = aa +'\n隐患为:'
667
- for (let key of bb.data){
668
- let str = JSON.stringify(key)
669
- aa = aa+str+'\n'
670
- }
671
- }
672
-
673
- }*/
674
- if (!bb.result){
675
- bb.result=''
676
- }
677
- row.danger=bb
678
- if ( row.f_last_check_result.indexOf('A')){
679
- a=a+1
680
- console.log('包含A')
681
- if (row.nocheckday>5&&row.nocheckday<=7){
682
- b=b+1
683
- row.color='yellow'
684
- }
685
- else if (row.nocheckday>7){
686
- c=c+1
687
- row.color='red'
688
- }
689
- continue
690
- }
691
- if ( row.f_last_check_result.indexOf('B')){
692
- a=a+1
693
- console.log('包含B')
694
- if (row.nocheckday>12&&row.nocheckday<=14){
695
- b=b+1
696
- row.color='yellow'
697
- }
698
- else if (row.nocheckday>14){
699
- c=c+1
700
- row.color='red'
701
- }
702
- continue
703
- }
704
- if ( row.f_last_check_result.indexOf('C')){
705
- a=a+1
706
- console.log('包含C')
707
- if (row.nocheckday>28&&row.nocheckday<=30){
708
- b=b+1
709
- row.color='yellow'
710
- }
711
- else if (row.nocheckday>30){
712
- c=c+1
713
- row.color='red'
714
- }
715
- continue
716
- }
717
- }
718
- console.log('查询到的数据',res)
719
- this.model.rows = res.data
720
- this.$showMessage('目前有'+res.data.length+'户存在隐患需要及时安检,其中'+b+'户需要在两天内安检,'
721
- +c+'户已超时,未在规定时间内安检')
722
-
723
- }
724
- else {
725
- this.$showMessage('当前没有存在隐患需要安检的用户')
726
- }
727
-
728
- })
729
- },
730
- async search(args) {
731
- console.log('this.areaslist ===>' + JSON.stringify(this.areaslist))
732
- this.checkrows = []
733
- this.checkedAll = false
734
- this.sqlname = 'ByOrgChecker'
735
- console.log('查询结束')
736
- this.model.url = 'rs/sql/根据安检员查询用户档案'
737
- await this.model1.search(args.condition, args.model)
738
-
739
- for (let row of this.model1.rows){
740
- if (row.f_last_check_result){
741
- let bb =JSON.parse(row.f_last_check_result)
742
- row.danger=bb
743
- }
744
-
745
- }
746
- this.model.rows=this.model1.rows
747
- this._isRouterView=false
748
- this._isRouterView=true
749
- },
750
- colsedanger(){
751
- this.showdanger=false
752
- },
753
- gotodanger(val) {
754
- let a=''
755
- for (let row of val.data){
756
- let str = JSON.stringify(row)
757
- a=a+str+'<br/>'
758
- }
759
- this.dangerinfo=a
760
- this.showdanger=true
761
-
762
- },
763
- checkstatus() {
764
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]
765
- },
766
- usertypes() {
767
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
768
- },
769
- userstates() {
770
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
771
- },
772
- timetypes() {
773
- // return [{label: '天', value: 'dd'},{label: '月',value: 'mm'},{label:'年',value:'yy'}]
774
- return [{label: '天', value: 'dd'},{label: '月',value: 'mm'}]
775
- },
776
- async getAreaList() {
777
- let http = new HttpResetClass()
778
- this.areaslist = [{label:'全部',value:''}]
779
- let res = await http.load('POST', '/rs/sql/safe_singleTable_GroupBy', {
780
- data: {
781
- items: 'f_residential_area',
782
- tablename: 't_area',
783
- condition: `f_filialeid = '${this.$login.f.orgid}'`,
784
- groupitem: 'f_residential_area'
785
- }
786
- }, {resolveMsg: null, rejectMsg: null})
787
- if (res.data) {
788
- res.data.forEach(item => this.areaslist.push({label: item.f_residential_area, value: item.f_residential_area}))
789
- }
790
- },
791
- show() {
792
- this.criteriaShow = true
793
- },
794
- hidden() {
795
- this.criteriaShow = !this.criteriaShow
796
- },
797
- confirm(createWay) {
798
- if (!this.checkboxModel.f_plan_name) {
799
- this.$showMessage('请填写安检计划名称!')
800
- return
801
- }
802
- // if(this.f_effective_start_time == ''){
803
- // this.$showMessage('请选择有效起始日期!')
804
- // return
805
- // }
806
- // if(this.f_effective_end_time == ''){
807
- // this.$showMessage('请选择有效结束日期!')
808
- // return
809
- // }
810
- if(this.IsShare == '否'&&!this.checkplan){
811
- if (!this.checkboxModel.f_checker_id) {
812
- this.$showMessage('请选择安检员!')
813
- return
814
- }
815
- }
816
- this.createWay = createWay
817
- if(this.isBusy === false){
818
- this.isBusy = true
819
- this.$showMessage('正在下发中,请稍等...')
820
- if(!this.checkplan){
821
- let gen = saveGen(this)
822
- co(gen)
823
- }else {
824
- let _gen = AddItem(this)
825
- co(_gen)
826
- }
827
- this.isBusy = false
828
- }else {
829
- this.$showMessage('正在下发中,请稍等...')
830
- }
831
-
832
- },
833
- changeStates() {
834
- if (this.checkedAll) {//实现反选/
835
- this.checkrows = [];
836
- for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
837
- this.$set('$refs.paged.model.rows[' + i + '].checked', false)
838
- }
839
- } else {//实现全选
840
- for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
841
- this.$set('$refs.paged.model.rows[' + i + '].checked', true)
842
- }
843
- let _this = this
844
- let condition = this.$refs.paged.$refs.criteria.condition
845
- let url = this.model.url
846
- this.$resetpost(`${url}?pageSize=9999999`, {
847
- data: {
848
- condition: condition,
849
- groupitem: '',
850
- orderitem: 'f_residential_area',
851
- f_usertype:this.model.f_usertype,
852
- f_filialeids: this.model.f_filialeids,
853
- month: this.model.month,
854
- safeCycle:this.model.safeCycle,
855
- f_checktime_start:this.model.f_checktime_start,
856
- f_checktime_end:this.model.f_checktime_end,
857
- SafeCheckSX: this.model.SafeCheckSX,
858
- f_last_check_state: this.model.f_last_check_state
859
- },
860
- },{resolveMsg: null, rejectMsg: null}, -1).then(
861
- (respanse) => {
862
- if (respanse.data.length >= 5000) {
863
- this.$showMessage("数据量太大,请重新选择")
864
- } else {
865
- _this.checkrows = []
866
- for (let j = 0; j < respanse.data.length; j++) {
867
- _this.checkrows.push(respanse.data[j])
868
- }
869
- console.log(_this.checkrows);
870
- }
871
- })
872
- }
873
- },
874
- addChecked(item) {
875
- console.log(item);
876
- if (!item.checked) {
877
- this.checkrows.push(item);
878
- console.log(this.checkrows);
879
- } else {
880
- for (let i = 0; i < this.checkrows.length; i++) {
881
- if (item.f_userinfo_id == this.checkrows[i].f_userinfo_id) {
882
- this.checkrows.splice(i, 1)
883
- }
884
- }
885
- }
886
- },
887
- ToshowModal() {
888
- this.creatPlanWay = 'single'
889
- if (this.checkrows.length > 0) {
890
- this.checkExist()
891
- this.showModal = true
892
- } else {
893
- this.$showMessage("请选择需要安检的用户!")
894
- }
895
- },
896
- FiltrationPlan(){
897
- if(this.model.rows.length == 0){
898
- this.$showMessage("暂无可生成的计划!")
899
- return
900
- }
901
- this.creatPlanWay = 'filtration'
902
- this.checkExist()
903
- this.showModal = true
904
- },
905
- AllPlan(orgs) {
906
- if(this.model.rows.length == 0){
907
- this.$showMessage("暂无可生成的计划!")
908
- return
909
- }
910
- this.creatPlanWay = 'all'
911
- this.checkExist()
912
- this.showModal = true
913
- this.getCheckerInfo(orgs)
914
- },
915
- // 安检员任务完成情况
916
- getCheckerInfo(orgs){
917
- this.model2.search(`1=1`)
918
- },
919
- cancel() {
920
- this.showModal = false
921
- this.showAddModal = false
922
- },
923
- areas() {
924
- let rs = []
925
- for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
926
- let temp = {
927
- label: this.$login.f.f_allArea[i].label,
928
- value: this.$login.f.f_allArea[i].label
929
- }
930
- rs.push(temp)
931
- }
932
- return [{label: '全部', value: ''}, ...rs]
933
- },
934
- initAdjustables() {
935
- console.log('初始化调压箱', this.$GetSaleParam)
936
- let arr = []
937
- let filter = this.$login.f.orgid
938
- this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
939
- let temp = {}
940
- temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
941
- temp.value = `${item.value.id}`
942
- arr.push(temp)
943
- })
944
- this.adjustables = [{label: '全部', value: ''}, ...arr]
945
- },
946
- getRes(obj){
947
- this.model.f_filialeids = this.$login.convertToIn(obj.resids);
948
- console.log(this.model.f_filialeids)
949
- },
950
- checkExist(){
951
- co(checkItems(this))
952
- }
953
- },
954
-
955
- watch: {
956
- 'model.f_usertype'(val){
957
- if(val == '民用'){
958
- this.model.safeCycle = this.civil
959
- }else if(val == '非民用'){
960
- this.model.safeCycle = this.civilian
961
- }
962
- },
963
- 'model.SafeCheckXZ'(val) {
964
- if (val == '已安检') {
965
- this.model.SafeCheckCQ = ''
966
- this.model.SafeCheckSX = {
967
- f_check_end: '', // 安检时间 查询起始条件
968
- f_check_start: ''// 安检时间 查询终止条件
969
- }
970
- } else {
971
- // 当使用筛选条件时,清空不需要的条件选项
972
- this.$refs.paged.$refs.criteria.model.f_check_start = ''
973
- this.$refs.paged.$refs.criteria.model.f_check_end = ''
974
- this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
975
- this.model.month = ''
976
- if(val == '应安检'){
977
- this.model.f_shouldcheck_start = Util.toStartDateString()
978
- this.model.f_shouldcheck_end = Util.toStandardDateString()
979
- }
980
- // this.model.f_checktime_start = ''
981
- // this.model.f_checktime_end = ''
982
- }
983
- },
984
- // 'checker'(val){
985
- // console.log("checker",this.checker)
986
- // if(val){
987
- // this.checkboxModel.f_checker = this.checker[0].name
988
- // this.checkboxModel.f_checker_id = this.checker[0].id
989
- // }
990
- // },
991
- 'model.rows'() {
992
- // if (!this.checkedAll) {//实现反选/
993
- // this.checkrows = [];
994
- for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
995
- var k = false
996
- for (let j = 0; j < this.checkrows.length; j++) {
997
- if (this.$refs.paged.model.rows[i].f_userinfo_id == this.checkrows[j].f_userinfo_id) {
998
- this.$set('$refs.paged.model.rows[' + i + '].checked', true)
999
- k = true
1000
- continue
1001
- }
1002
- }
1003
- if (!k) {
1004
- this.$set('$refs.paged.model.rows[' + i + '].checked', false)
1005
- }
1006
- }
1007
- // } else {//实现全选
1008
- // // this.checkboxModel = {};
1009
- // for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
1010
- // this.$set('$refs.paged.model.rows[' + i + '].checked', true)
1011
- // }
1012
- // }
1013
- }
1014
- },
1015
- computed: {
1016
- getCondition(){
1017
- console.log('this.orderitem===>',this.model.orderitem)
1018
- return {condition: `${this.$refs.paged.$refs.criteria.condition}`,orderitem:`${this.model.orderitem}`,
1019
- f_filialeid:this.model.f_filialeid,month: this.model.month,SafeCheckSX:this.model.SafeCheckSX,
1020
- f_usertype:this.model.f_usertype,f_last_check_state:this.model.f_last_check_state,f_new_account:this.model.f_new_account,
1021
- safeCycle:this.model.safeCycle,SafeCheckCQ:this.model.SafeCheckCQ,SafeCheckXZ:this.model.SafeCheckXZ,
1022
- f_shouldcheck_start:this.model.f_shouldcheck_start,f_shouldcheck_end:this.model.f_shouldcheck_end}
1023
- },
1024
- getfield(){
1025
- let data = {}
1026
- this.bodyData.forEach((value, index)=>{
1027
- data[this.bodyData[index]] = this.headData[index]
1028
- })
1029
- return data
1030
- },
1031
- selected() {
1032
- return this.$refs.paged.$refs.grid.selected
1033
- }
1034
- }
1035
- }
1036
- </script>
1037
- <style scoped>
1038
- .newcolor{
1039
- color:red;
1040
- }
1041
- .table th{
1042
- background-color: #f2f6fa;
1043
- color: black;
1044
- }
1045
- .p {
1046
- color: #fff922;
1047
- font-weight:bold
1048
- }
1049
- .p1 {
1050
- color: #ff252f;
1051
- }
1052
- </style>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <!-- <button class="btn btn-xs" v-show="!criteriaShow" @click="show()">-->
5
+ <!-- <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>-->
6
+ <!-- </button>-->
7
+ <criteria-paged :model="model" v-ref:paged>
8
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.search' v-ref:criteria>
9
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
10
+ <div class="row">
11
+ <div class="col-sm-2" >
12
+ <label class="font_normal_body">用户编号</label>
13
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code" id="f_userinfo_code" style="width:60%"
14
+ placeholder="用户编号" condition="f_userinfo_code like '%{}%'">
15
+ </div>
16
+ <div class="col-sm-2" >
17
+ <label class="font_normal_body">用户名称</label>
18
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name" id="f_user_name" style="width:60%"
19
+ placeholder="用户名称" condition="f_user_name like '%{}%'">
20
+ </div>
21
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
22
+ <label class="font_normal_body">小区名称</label>
23
+ <!-- <input type="text" class="input_search" style="width: 60%" v-model="model.f_residential_area" id="f_residential_area" style="width:60%"-->
24
+ <!-- placeholder="小区名称" condition="f_residential_area like '%{}%'">-->
25
+
26
+ <v-select :value.sync="model.f_residential_area"
27
+ :value-single="true"
28
+ v-model="model.f_residential_area"
29
+ :options='$parent.$parent.areaslist'
30
+ placeholder='请选择'
31
+ condition="f_residential_area = '{}'"
32
+ close-on-select
33
+ search="true">
34
+ </v-select>
35
+ </div>
36
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
37
+ <label class="font_normal_body">地址信息</label>
38
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_address" id="f_address" style="width:60%"
39
+ placeholder="地址信息" condition="f_address like '%{}%'">
40
+ </div>
41
+
42
+
43
+ <div class="col-sm-4" style="float: right" >
44
+ <div style="float: right; margin-top: 8px" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
45
+ <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.itemAdd()" v-if="$parent.$parent.checkplan">添加</button>
46
+ <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.itemAddBack()" v-if="$parent.$parent.checkplan">返回</button>
47
+ <button type="button" class="button_export button_spacing" style="float: right;margin-top: 8px" @click="$parent.$parent.AllPlan()" v-if="!$parent.$parent.checkplan">计划生成</button>
48
+ <button class="button_search button_spacing" style="float: right;margin-top: 8px" @click="search()">查询</button>
49
+ </div>
50
+ </div>
51
+ <div class="row" v-show="$parent.$parent.criteriaShow">
52
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
53
+ <label class="font_normal_body">楼栋号码</label>
54
+ <input type="text" class="input_search" v-model="model.f_building" id="f_building" style="width:60%"
55
+ placeholder="楼栋号码" condition="f_building = '{}'">
56
+ </div>
57
+ <div class="col-sm-2 col-md-2 col-lg-2" >
58
+ <label class="font_normal_body">单元号码</label>
59
+ <input type="text" class="input_search" v-model="model.f_unit" id="f_unit" style="width:60%"
60
+ placeholder="单元号码" condition="f_unit = '{}'">
61
+ </div>
62
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
63
+ <label class="font_normal_body">楼层号码</label>
64
+ <input type="text" class="input_search" v-model="model.f_floor" id="f_floor" style="width:60%"
65
+ placeholder="楼层号码" condition="f_floor = '{}'">
66
+ </div>
67
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
68
+ <label class="font_normal_body">片区名称</label>
69
+ <v-select style="width:60% "
70
+ class="select select_list"
71
+ :value.sync="model.f_area"
72
+ v-model="model.f_area"
73
+ :options='$parent.$parent.areas'
74
+ placeholder='片区/管理站'
75
+ condition="f_slice_area like '%{}%'"
76
+ close-on-select>
77
+ </v-select>
78
+ </div>
79
+
80
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
81
+ <label class="font_normal_body">用户类型</label>
82
+ <v-select id="f_usertype"
83
+ placeholder='用户类型' style="width:60% "
84
+ class="select select_list"
85
+ :value.sync="model.f_usertype"
86
+ :value-single="true"
87
+ :options='$parent.$parent.usertypes'
88
+ v-model="model.f_usertype"
89
+ condition="f_user_type = '{}'"
90
+ close-on-select clear-button> </v-select>
91
+ </div>
92
+
93
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
94
+ <label class="font_normal_body">安检状态</label>
95
+ <v-select :value.sync="model.f_last_check_state" :options='$parent.$parent.checkStates' placeholder='上次安检状态' close-on-select
96
+ style="width:60% " class="select select_list" v-model='model.f_last_check_state' condition="f_last_check_state = '{}'">
97
+ </v-select>
98
+ </div>
99
+ <div class="col-sm-2 col-md-2 col-lg-2 " >
100
+ <label class="font_normal_body">调&nbsp;&nbsp;压&nbsp;箱</label>
101
+ <v-select :value.sync="model.f_adjustable_id" :options='$parent.$parent.adjustables' placeholder='调压箱' close-on-select
102
+ style="width:60% " class="select select_list" v-model='model.f_adjustable_id' condition="f_adjustable_id = '{}'" :search='true'></v-select>
103
+ </div>
104
+ <div class="col-sm-4" style="width: 20%" v-if="$parent.$parent.criteriaShow">
105
+ <label class="font_normal_body">开始时间</label>
106
+ <datepicker
107
+ class="select_list select"
108
+ :value.sync="model.f_check_start"
109
+ placeholder='开始时间' style="width: 60%"
110
+ :disabled-days-of-week="[]"
111
+ :format="'yyyy-MM-dd'"
112
+ :show-rest-button="reset"
113
+ v-model="model.f_check_start"
114
+ condition="f_createfile_date > ='{} 00:00:00'">
115
+ </datepicker>
116
+ </div>
117
+ <div class="col-sm-4" style="width: 20%" v-if="$parent.$parent.criteriaShow">
118
+ <label class="font_normal_body">结束时间</label>
119
+ <datepicker
120
+ :value.sync="model.f_check_end"
121
+ placeholder='结束时间' style="width: 60%"
122
+ :disabled-days-of-week="[]"
123
+ :format="'yyyy-MM-dd'"
124
+ :show-rest-button="reset"
125
+ v-model="model.f_check_end"
126
+ condition="f_createfile_date <= '{} 23:59:59'">
127
+ </datepicker>
128
+ </div>
129
+ <div class="col-sm-2">
130
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
131
+ <right-tree @re-res="$parent.$parent.getRes" :initresid="$login.f.orgid">
132
+ </right-tree>
133
+ </div>
134
+ <div class="col-sm-2 col-md-2 col-lg-2" style="width: 25%" >
135
+ <label class="font_normal_body">距离上次安检</label>
136
+ <input type="text" class="input_search" v-model="model.f_start_time" style="width:18%"
137
+ value="12"
138
+ placeholder="" condition="f_time >= '{}'">
139
+
140
+ <input type="text" class="input_search" v-model="model.f_end_time" style="width:18%"
141
+ placeholder="" condition="f_time <= '{}'">
142
+ <v-select
143
+ placeholder=''
144
+ :width="'20%'"
145
+ class="select select_list"
146
+ :value.sync="$parent.$parent.model.timetype"
147
+ :value-single="true"
148
+ :options='$parent.$parent.timetypes'
149
+ close-on-select clear-button> </v-select>
150
+ </div>
151
+ <!-- <div class="col-sm-2 col-md-2 col-lg-2" >-->
152
+ <!-- <label class="font_normal_body">是否包含新开户</label>-->
153
+ <!-- <v-select -->
154
+ <!-- placeholder='用户类型' style="width:60% "-->
155
+ <!-- class="select select_list"-->
156
+ <!-- :value.sync="$parent.$parent.model.includeNew"-->
157
+ <!-- :value-single="true"-->
158
+ <!-- :options='$parent.$parent.includeNews'-->
159
+ <!-- v-model="model.includeNew"-->
160
+ <!-- condition="f_last_check_date = '{}'"-->
161
+ <!-- close-on-select clear-button> </v-select>-->
162
+ <!-- </div>-->
163
+ </div>
164
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
165
+ <div slot="modal-header" class="modal-header">
166
+ <h4 class="modal-title">
167
+ 生成计划
168
+ </h4>
169
+ </div>
170
+ <div slot="modal-body" class="modal-body">
171
+ <div class="row">
172
+ <div class="col-sm-6 form-group form-fix-width">
173
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划名称</label>
174
+ <input class="input_search" style="width: 60%" type="text" v-model="$parent.$parent.checkboxModel.f_plan_name" placeholder="计划名称(必填)">
175
+ </div>
176
+ <div class="col-sm-6 form-group form-fix-width">
177
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">是否共享</label>
178
+ <v-select :value="$parent.$parent.IsShare" style="width:60% "
179
+ class="select select_list"
180
+ v-on:change="$parent.$parent.IsShareschange" :value-single="true"
181
+ :options='$parent.$parent.IsShares' close-on-select clear-button> </v-select>
182
+ </div>
183
+ <div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.IsShare == '否'">
184
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安&nbsp;检&nbsp;员&nbsp;</label>
185
+ <v-select id="checker" :value="$parent.$parent.checker" style="width:60% "
186
+ class="select select_list"
187
+ v-on:change="$parent.$parent.checkerchange" :value-single="true"
188
+ :options='$parent.$parent.checkers' close-on-select clear-button> </v-select>
189
+ </div>
190
+ <!--<div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.IsShare == '是'">-->
191
+ <!--<label class="control-label">站点</label>-->
192
+ <!--<v-select id="checker" :value="$parent.$parent. "-->
193
+ <!--v-on:change="$parent.$parent." :value-single="true"-->
194
+ <!--:options='$parent.$parent.' close-on-select clear-button> </v-select>-->
195
+ <!--</div>-->
196
+ <div class="col-sm-6 form-group form-fix-width">
197
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划年份</label>
198
+ <v-select id="c_plan_year" :value.sync="$parent.$parent.f_plan_year" style="width:60% "
199
+ class="select select_list"
200
+ :options='$parent.$parent.c_year_list' close-on-select clear-button> </v-select>
201
+ </div>
202
+ <div class="col-sm-6 form-group form-fix-width">
203
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划月份</label>
204
+ <v-select id="c_plan_month" :value.sync="$parent.$parent.f_plan_month" style="width:60% "
205
+ class="select select_list"
206
+ :options='$parent.$parent.c_month_list' close-on-select clear-button> </v-select>
207
+ </div>
208
+ <div class="col-sm-6 form-group form-fix-width">
209
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安检类型</label>
210
+ <v-select id="f_safecheck_type" :value.sync="$parent.$parent.checkboxModel.f_safecheck_type" style="width:60% "
211
+ class="select select_list"
212
+ :value-single="true"
213
+ :options='$parent.$parent.c_type_list' close-on-select clear-button> </v-select>
214
+ </div>
215
+ <data-grid :model="$parent.$parent.model2" partial='list' v-ref:grid2 class="list_area table_sy">
216
+ <template partial='head'>
217
+ <tr>
218
+ <th>安检员</th>
219
+ <th>计划数</th>
220
+ <th>已检</th>
221
+ <th>未检</th>
222
+ </tr>
223
+ </template>
224
+ <template partial='body'>
225
+ <td style="text-align: center">{{row.f_checker}}</td>
226
+ <td style="text-align: center">{{row.c}}</td>
227
+ <td style="text-align: center">{{row.checked}}</td>
228
+ <td style="text-align: center">{{row.unchecked}}</td>
229
+ </template>
230
+ <template partial="foot">
231
+ </template>
232
+ </data-grid>
233
+ <!--<div class="col-sm-6 form-group form-fix-width">-->
234
+ <!--<label class="control-label">有效起始</label>-->
235
+ <!--<datepicker-->
236
+ <!--:value.sync="$parent.$parent.f_effective_start_time"-->
237
+ <!--placeholder='最后安检时间起始'-->
238
+ <!--:disabled-days-of-week="[]"-->
239
+ <!--:format="'yyyy-MM-dd'"-->
240
+ <!--:show-rest-button="reset"-->
241
+ <!--v-model = "$parent.$parent.f_effective_start_time">-->
242
+ <!--</datepicker>-->
243
+ <!--</div>-->
244
+ <!--<div class="col-sm-6 form-group form-fix-width">-->
245
+ <!--<label class="control-label">有效结束</label>-->
246
+ <!--<datepicker-->
247
+ <!--:value.sync="$parent.$parent.f_effective_end_time"-->
248
+ <!--placeholder='最后安检时间起始'-->
249
+ <!--:disabled-days-of-week="[]"-->
250
+ <!--:format="'yyyy-MM-dd'"-->
251
+ <!--:show-rest-button="reset"-->
252
+ <!--v-model = "$parent.$parent.f_effective_end_time">-->
253
+ <!--</datepicker>-->
254
+ <!--</div>-->
255
+ </div>
256
+ </div>
257
+ <div slot="modal-footer" class="modal-footer">
258
+ <span style="color:red;float: left" v-show = "$parent.$parent.repeated > 0">此次下发共有{{$parent.$parent.repeated}}单重复</span>
259
+ <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('override')">覆盖下发</button>
260
+ <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('skip')">跳过下发</button>
261
+ <button type="button" v-show="$parent.$parent.repeated == 0" class="button_spacing button_search" @click="$parent.$parent.confirm('create')">生成</button>
262
+ <button type="button" class="button_spacing button_clear" @click="$parent.$parent.cancel">取消</button>
263
+ </div>
264
+ </modal>
265
+ <modal :show.sync="$parent.$parent.showAddModal" v-ref:addModal backdrop="false">
266
+ <div slot="modal-header" class="modal-header">
267
+ <h4 class="modal-title">
268
+ 添加计划
269
+ </h4>
270
+ </div>
271
+ <div slot="modal-body" class="modal-body">
272
+ <div class="row">
273
+ <div class="col-sm-6 form-group form-fix-width">
274
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划名称</label>
275
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_name">
276
+ </div>
277
+ <div class="col-sm-6 form-group form-fix-width">
278
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">是否共享</label>
279
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.IsShare">
280
+ </div>
281
+ <div class="col-sm-6 form-group form-fix-width" v-if="$parent.$parent.checkboxModel.IsShare == '否'">
282
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安&nbsp;检&nbsp;员</label>
283
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.checker">
284
+ </div>
285
+ <div class="col-sm-6 form-group form-fix-width">
286
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划年份</label>
287
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_year">
288
+ </div>
289
+ <div class="col-sm-6 form-group form-fix-width">
290
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">计划月份</label>
291
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_plan_month">
292
+ </div>
293
+ <div class="col-sm-6 form-group form-fix-width">
294
+ <label class="font_normal_body" style="padding-top: 0;line-height: 39px;">安检类型</label>
295
+ <input class="input_search" style="width: 60%;" disabled="true" type="text" v-model="$parent.$parent.checkboxModel.f_safecheck_type">
296
+ </div>
297
+ </div>
298
+ </div>
299
+ <div slot="modal-footer" class="modal-footer">
300
+ <span style="color:red;float: left" v-show = "$parent.$parent.repeated > 0">此次下发共有{{$parent.$parent.repeated}}单重复</span>
301
+ <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('override')">覆盖下发</button>
302
+ <button type="button" v-show="$parent.$parent.repeated > 0" class="button_spacing button_search" @click="$parent.$parent.confirm('skip')">跳过下发</button>
303
+ <button type="button" v-show="$parent.$parent.repeated == 0" class="button_spacing button_search" @click="$parent.$parent.confirm('create')">添加</button>
304
+ <button type="button" class="button_spacing button_clear" @click="$parent.$parent.cancel">取消</button>
305
+ </div>
306
+ </modal>
307
+ </div>
308
+ </criteria>
309
+ <data-grid :model="model" class="list_area table_sy" style="overflow: hidden" partial='list'>
310
+ <template partial='head'>
311
+ <tr>
312
+ <!--<th><nobr>全选<input type="checkbox" @click='$parent.$parent.$parent.changeStates' v-model='$parent.$parent.$parent.checkedAll'></nobr></th>-->
313
+ <!-- <th><nobr></nobr></th>-->
314
+ <th><nobr>用户编号</nobr></th>
315
+ <th><nobr>用户名称</nobr></th>
316
+ <th><nobr>用户电话</nobr></th>
317
+ <th><nobr>用户类型</nobr></th>
318
+ <th><nobr>小区名称</nobr></th>
319
+ <th><nobr>楼号</nobr></th>
320
+ <th><nobr>单元</nobr></th>
321
+ <th><nobr>楼层</nobr></th>
322
+ <th><nobr>门牌号</nobr></th>
323
+ <th><nobr>地址</nobr></th>
324
+ <th><nobr>隐患情况</nobr></th>
325
+ <!-- <th><nobr>用户家庭情况备注</nobr></th>-->
326
+ <th><nobr>最后安检日期</nobr></th>
327
+ <th><nobr>最后安检状态</nobr></th>
328
+ </tr>
329
+ </template>
330
+ <template partial='body' >
331
+ <!-- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center"><nobr><input type="checkbox" v-model="row.checked" v-bind:checked="row.checked" @click="$parent.$parent.$parent.addChecked(row)"></nobr></td>-->
332
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_userinfo_code}}</td>
333
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_user_name}}</td>
334
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center;">{{row.f_user_phone}}</td>
335
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_user_type}}</td>
336
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_residential_area}}</td>
337
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_building}}</td>
338
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_unit}}</td>
339
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_floor}}</td>
340
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_room}}</td>
341
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_address}}</td>
342
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">
343
+ <div v-if="row.danger"><div v-if="row.danger.result=='有隐患'"><a @click="$parent.$parent.$parent.gotodanger(row.danger)">{{row.danger.result}}</a></div>
344
+ <div v-if="row.danger.result!='有隐患'"></div></div>
345
+ </td>
346
+ <!-- <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_user_family_remarks}}</td>-->
347
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_last_check_date}}</td>
348
+ <td :class="[ row.color ==='red' ? 'p1' : row.color === 'yellow'? 'p':'' ]" style="text-align: center">{{row.f_last_check_state}}</td>
349
+ </template>
350
+ </data-grid>
351
+ </criteria-paged>
352
+ </div>
353
+ </div>
354
+
355
+
356
+ <modal :show.sync="showdanger" v-ref:modal backdrop="false">
357
+ <header slot="modal-header" class="modal-header">
358
+ <button type="button" class="close" @click="colsedanger"><span>&times;</span></button>
359
+ <h4 style="text-align: center" class="modal-title">隐患内容</h4>
360
+ </header>
361
+ <article slot="modal-body" class="modal-body">
362
+ <div class="form-group">
363
+ <center><div v-html="dangerinfo"></div></center>
364
+
365
+ </div>
366
+ </article>
367
+ <div slot="modal-footer" class="modal-footer">
368
+ <button type="button" class="button_spacing button_search" @click="colsedanger()">关闭</button>
369
+ </div>
370
+ </modal>
371
+
372
+
373
+ </template>
374
+
375
+ <script>
376
+ import { PagedList } from 'vue-client'
377
+ import { HttpResetClass } from 'vue-client'
378
+ import co from 'co'
379
+ import * as Util from '../Util'
380
+ import Vue from 'vue'
381
+ import AppData from '../../stores/AppData'
382
+
383
+ let AddItem = function * (self) {
384
+ self.checkboxModel.f_filialeid = self.$login.f.orgid
385
+ self.checkboxModel.f_orgstr = self.$login.f.orgpathstr
386
+ self.checkboxModel.planid = self.checkplan.id
387
+ self.checkboxModel.rows = self.checkrows
388
+ self.checkboxModel.model = self.model
389
+ self.checkboxModel.sqlname = self.sqlname
390
+ self.checkboxModel.f_filialeids = self.model.f_filialeids
391
+ self.checkboxModel.createWay = self.createWay
392
+ self.checkboxModel.repeated = self.repeated
393
+ console.log('self.model',self.model)
394
+ self.checkboxModel.planWay = 'add'
395
+ yield self.$resetpost('rs/logic/GenCallInAllPlan', {data: self.checkboxModel},{resolveMsg: null, rejectMsg: null}).then((res)=>{
396
+ console.log(res.data)
397
+ if(res.data.code == 200) {
398
+ self.$showMessage(`添加成功!现在${self.checkplan.f_plan_name}共有${res.data.countItem}个计划!`)
399
+ self.$emit('finish')
400
+ }else {
401
+ self.$showMessage("计划添加失败!")
402
+ }
403
+ self.isBusy = false
404
+ })
405
+ }
406
+
407
+ let saveGen = function * (self) {
408
+ self.checkboxModel.f_create_time = self.$login.toStandardTimeString()
409
+ self.checkboxModel.f_plan_type = '预约计划'
410
+ self.checkboxModel.f_issued = '否'
411
+ self.checkboxModel.f_filialeid = self.$login.f.orgid
412
+ self.checkboxModel.f_filialeids = self.model.f_filialeids
413
+ self.checkboxModel.f_orgstr = self.$login.f.orgpathstr
414
+ self.checkboxModel.f_plan_year = self.f_plan_year[0]
415
+ self.checkboxModel.f_plan_month = self.f_plan_month[0]
416
+ self.checkboxModel.f_subcompany = self.$login.f.f_fengongsi
417
+ self.checkboxModel.f_create_operator = self.$login.f.name
418
+ self.checkboxModel.f_effective_start_time = self.f_effective_start_time
419
+ self.checkboxModel.f_effective_end_time = self.f_effective_end_time
420
+ self.checkboxModel.model = self.model
421
+ self.checkboxModel.sqlname = self.sqlname
422
+ self.checkboxModel.planWay = 'create'
423
+ self.checkboxModel.createWay = self.createWay
424
+ self.checkboxModel.repeated = self.repeated
425
+ yield self.$resetpost('rs/logic/GenCallInAllPlan', {data: self.checkboxModel}, {resolveMsg: null, rejectMsg: null})
426
+ .then((respanse) => {
427
+ console.log(respanse)
428
+ self.showModal = false
429
+ if (respanse.data.code == 200) {
430
+ self.$showMessage("预约计划生成成功!")
431
+ self.checkrows = []
432
+ self.creatPlanWay = ''
433
+ self.checker = {}
434
+ self.IsShare = '否'
435
+ self.checkboxModel = {}
436
+ self.$refs.paged.$refs.criteria.search()
437
+ self.createWay = ''
438
+ } else {
439
+ self.$showMessage("预约计划生成失败!")
440
+ }
441
+ self.isBusy = false
442
+ })
443
+ }
444
+
445
+ let checkItems = function * (self) {
446
+ let data = {}
447
+ self.repeated = -1
448
+ let checkIdArray = []
449
+ data = self.model.params
450
+ console.log('data ===> '+JSON.stringify(data))
451
+ yield self.$resetpost('rs/sql/getExistCheckItem/n', {data:data}, {resolveMsg: null, rejectMsg: null})
452
+ .then((res) => {
453
+ console.log(res.data.n)
454
+ self.repeated = res.data.n
455
+ })
456
+ }
457
+
458
+ let seachData = function * (self) {
459
+ let getParams = yield self.$resetpost('rs/logic/getSaleInitData', {data: {f_orgid: self.$login.f.orgid}}, {
460
+ resolveMsg: null,
461
+ rejectMsg: '获取营收参数出错!!!'
462
+ })
463
+ console.log('获取营收参数', getParams)
464
+ if (getParams.data) {
465
+ let arr = []
466
+ getParams.data.adjustable.forEach((item, index) => {
467
+ let temp = {}
468
+ temp.label = `[${item.f_adjustable_id}]-${item.f_adjustable_name}`
469
+ temp.value = `${item.id}`
470
+ arr.push(temp)
471
+ })
472
+ self.adjustables = [{label: '全部', value: ''}, ...arr]
473
+ }
474
+ }
475
+ let select = function* (self) {
476
+ console.log(3)
477
+ let http = new HttpResetClass()
478
+ let getGasman = yield http.load('POST', '/rs/search', {
479
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
480
+ userid: self.$login.f.id
481
+ }, {resolveMsg: null, rejectMsg: null})
482
+ console.log(4)
483
+ console.log('获取安检员', getGasman)
484
+ getGasman.data.forEach((checker) => {
485
+ self.checkers.push({label: checker.name, value: checker})
486
+ })
487
+ }
488
+
489
+ let searchSafeCycle= function* (self){
490
+ console.log('获取民用非民用安检周期')
491
+ let http = new HttpResetClass()
492
+ yield http.load('POST', 'rs/logic/getSafeCheckCycle', {},{resolveMsg: null, rejectMsg: null}).then((res)=>{
493
+ console.log('安检周期',res.data)
494
+ if(res.data.code == 200){
495
+ self.civil = res.data.civil.value
496
+ self.civilian = res.data.civilian.value
497
+ self.model.safeCycle = self.civil
498
+ }else{
499
+ self.$showMessage(res.data.msg)
500
+ }
501
+ })
502
+ }
503
+ export default {
504
+ title: '计划生成',
505
+ data() {
506
+ let options = []
507
+ let year = (new Date()).getFullYear()
508
+ for (let i = year; i <= year + 3; i++)
509
+ options.push({label: i + '', value: i + ''})
510
+ let moptions = []
511
+ for (let i = 1; i <= 12; i++)
512
+ moptions.push({label: i + '', value: i + ''})
513
+ let model1 = new PagedList('rs/sql/根据安检员查询用户档案', 50,null)
514
+ let model = new PagedList('rs/sql/根据安检员查询用户档案', 50, {
515
+ orderitem: '"f_residential_area,f_address"',
516
+ timetype: 'this.timetype',
517
+ f_filialeids: 'this.f_filialeids'
518
+ })
519
+ // 默认搜索12个月
520
+ model.timetype = 'mm'
521
+ model.f_filialeids = '('+this.$login.f.orgid+')'
522
+ let model2 = new PagedList('rs/sql/planCount', 50, {
523
+ f_filialeids: 'this.f_filialeids'
524
+ })
525
+ model2.f_filialeids = '('+this.$login.f.orgid+')'
526
+ return {
527
+ isBusy: false,
528
+ civil:'', //民用安检周期
529
+ civilian:'', //非民用安检周期
530
+ SafeCheckXZs: [{label: '未安检', value: '未安检'}, {label: '已安检', value: '已安检'},{label: '应安检', value: '应安检'},{label: '超期安检', value: '超期安检'}], // 安检筛选选项
531
+ SafeCheckSXs: [{label: '是', value: '是'}, {label: '否', value: '否'}, {label: '全部', value: ''},],
532
+ IsShares: [{label: '是', value: '是'}, {label: '否', value: '否'}],
533
+ IsShare:'否',
534
+ checker: {},
535
+ criteriaShow: false,
536
+ model: model,
537
+ model1:model,
538
+ model2:model2,
539
+ checkers: [],
540
+ chosenOrg: {id: 0},
541
+ showModal: false,
542
+ showAddModal: false,
543
+ checkedAll: false,
544
+ checkrows: [],
545
+ adjustables: [],
546
+ checkStates: this.$appdata.getParam('安检状态'),
547
+ f_plan_year: year + '',
548
+ f_plan_month: moptions[new Date().getMonth()].value,
549
+ f_effective_start_time:'', //计划有效起始时间
550
+ f_effective_end_time:'', //计划有效结束时间
551
+ checkboxModel: {
552
+ f_plan_name: '',
553
+ f_plan_year: '',
554
+ f_plan_month: '',
555
+ f_safecheck_type:'年度普建',
556
+ IsShare: '',
557
+ checker: ''
558
+ },
559
+ c_year_list: options,
560
+ c_month_list: moptions,
561
+ c_type_list:this.$appdata.getParam('安检类型'),
562
+ areas: this.areas(),
563
+ areaslist: [],
564
+ checkstatus: this.checkstatus(),
565
+ usertypes: this.usertypes(),
566
+ timetypes: this.timetypes(),
567
+ userstates: this.userstates(),
568
+ sqlname:'',
569
+ creatPlanWay:'',
570
+ showdanger:false,
571
+ dangerinfo:null,
572
+ repeated: 0, //下发时重复的安检单条数
573
+ createWay: ''
574
+ }
575
+ },
576
+ props: {
577
+ checkplan: { // 传入一条安检计划信息
578
+ type: Object
579
+ },
580
+ rowsdata:[],
581
+ additemshow:{
582
+ type:Boolean,
583
+ default:false
584
+ }
585
+ },
586
+ ready() {
587
+ this.getAreaList()
588
+ console.log('this.arealist===> ' + JSON.stringify(this.areaslist))
589
+ console.log('CreatePlan启动了')
590
+ if (this.rowsdata){
591
+ console.log('传进数据了')
592
+ this.model.rows = this.rowsdata
593
+ }
594
+ this.model.chosenOrg = {id: 0}
595
+ console.log(this.$login.f)
596
+ this.model.f_filialeid = this.$login.f.orgid
597
+ // this.model.f_filiale = this.$login.f.f_fengongsi
598
+ this.model.f_OrgStr = this.$login.f.orgpathstr
599
+ console.log(0)
600
+ let param = seachData(this)
601
+ console.log(1)
602
+ co(param)
603
+ console.log(2)
604
+ let gen = select(this)
605
+ co(gen)
606
+ let single = searchSafeCycle(this)
607
+ co(single)
608
+ if(this.checkplan){
609
+ console.log('this.checkplan')
610
+ console.log(this.checkplan)
611
+ this.checkboxModel.f_plan_name = this.checkplan.f_plan_name
612
+ this.checkboxModel.f_plan_year = this.checkplan.f_plan_year
613
+ this.checkboxModel.f_plan_month = this.checkplan.f_plan_month
614
+ if(this.checkplan.f_checker){
615
+ this.checkboxModel.IsShare = '否'
616
+ this.checkboxModel.checker = this.checkplan.f_checker
617
+ }else {
618
+ this.checkboxModel.IsShare = '是'
619
+ }
620
+ console.log('this.checkboxModel')
621
+ console.log(this.checkboxModel)
622
+ }
623
+ let f_start_time = this.$appdata.getSingleValue('安检间隔月份')
624
+ if(f_start_time){
625
+ this.$refs.paged.$refs.criteria.model.f_start_time = f_start_time
626
+ }
627
+ },
628
+ methods: {
629
+
630
+ itemAddBack(){
631
+ this.$emit('finish')
632
+ },
633
+ itemAdd(val){
634
+ if(this.model.rows.length == 0){
635
+ this.$showMessage("暂无可添加的计划!")
636
+ return
637
+ }
638
+ this.checkExist()
639
+ this.showAddModal = true
640
+ },
641
+ // 选择安检员
642
+ IsShareschange(val){
643
+ this.IsShare = val
644
+ if(val == '是'){
645
+ this.checker = null
646
+ }
647
+ },
648
+ checkerchange(val) {
649
+ this.checkboxModel.f_checker = val.name
650
+ this.checkboxModel.f_checker_id = val.id
651
+ },
652
+ dangerplan(){
653
+ this.$resetpost('rs/sql/getRemind', {data:{condition :` 1 = 1 and f_filialeid in ${this.model.f_filialeids}`}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
654
+
655
+ if (res.data.length>0){
656
+ let a =0
657
+ let b =0
658
+ let c =0
659
+
660
+ for(let row of res.data){
661
+ let aa=''
662
+ let bb =JSON.parse(row.f_last_check_result)
663
+ /* if (bb.result){
664
+ aa=aa+bb.result
665
+ if (bb.data.length>0){
666
+ aa = aa +'\n隐患为:'
667
+ for (let key of bb.data){
668
+ let str = JSON.stringify(key)
669
+ aa = aa+str+'\n'
670
+ }
671
+ }
672
+
673
+ }*/
674
+ if (!bb.result){
675
+ bb.result=''
676
+ }
677
+ row.danger=bb
678
+ if ( row.f_last_check_result.indexOf('A')){
679
+ a=a+1
680
+ console.log('包含A')
681
+ if (row.nocheckday>5&&row.nocheckday<=7){
682
+ b=b+1
683
+ row.color='yellow'
684
+ }
685
+ else if (row.nocheckday>7){
686
+ c=c+1
687
+ row.color='red'
688
+ }
689
+ continue
690
+ }
691
+ if ( row.f_last_check_result.indexOf('B')){
692
+ a=a+1
693
+ console.log('包含B')
694
+ if (row.nocheckday>12&&row.nocheckday<=14){
695
+ b=b+1
696
+ row.color='yellow'
697
+ }
698
+ else if (row.nocheckday>14){
699
+ c=c+1
700
+ row.color='red'
701
+ }
702
+ continue
703
+ }
704
+ if ( row.f_last_check_result.indexOf('C')){
705
+ a=a+1
706
+ console.log('包含C')
707
+ if (row.nocheckday>28&&row.nocheckday<=30){
708
+ b=b+1
709
+ row.color='yellow'
710
+ }
711
+ else if (row.nocheckday>30){
712
+ c=c+1
713
+ row.color='red'
714
+ }
715
+ continue
716
+ }
717
+ }
718
+ console.log('查询到的数据',res)
719
+ this.model.rows = res.data
720
+ this.$showMessage('目前有'+res.data.length+'户存在隐患需要及时安检,其中'+b+'户需要在两天内安检,'
721
+ +c+'户已超时,未在规定时间内安检')
722
+
723
+ }
724
+ else {
725
+ this.$showMessage('当前没有存在隐患需要安检的用户')
726
+ }
727
+
728
+ })
729
+ },
730
+ async search(args) {
731
+ console.log('this.areaslist ===>' + JSON.stringify(this.areaslist))
732
+ this.checkrows = []
733
+ this.checkedAll = false
734
+ this.sqlname = 'ByOrgChecker'
735
+ console.log('查询结束')
736
+ this.model.url = 'rs/sql/根据安检员查询用户档案'
737
+ await this.model1.search(args.condition, args.model)
738
+
739
+ for (let row of this.model1.rows){
740
+ if (row.f_last_check_result){
741
+ let bb =JSON.parse(row.f_last_check_result)
742
+ row.danger=bb
743
+ }
744
+
745
+ }
746
+ this.model.rows=this.model1.rows
747
+ this._isRouterView=false
748
+ this._isRouterView=true
749
+ },
750
+ colsedanger(){
751
+ this.showdanger=false
752
+ },
753
+ gotodanger(val) {
754
+ let a=''
755
+ for (let row of val.data){
756
+ let str = JSON.stringify(row)
757
+ a=a+str+'<br/>'
758
+ }
759
+ this.dangerinfo=a
760
+ this.showdanger=true
761
+
762
+ },
763
+ checkstatus() {
764
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]
765
+ },
766
+ usertypes() {
767
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
768
+ },
769
+ userstates() {
770
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
771
+ },
772
+ timetypes() {
773
+ // return [{label: '天', value: 'dd'},{label: '月',value: 'mm'},{label:'年',value:'yy'}]
774
+ return [{label: '天', value: 'dd'},{label: '月',value: 'mm'}]
775
+ },
776
+ async getAreaList() {
777
+ let http = new HttpResetClass()
778
+ this.areaslist = [{label:'全部',value:''}]
779
+ let res = await http.load('POST', '/rs/sql/safe_singleTable_GroupBy', {
780
+ data: {
781
+ items: 'f_residential_area',
782
+ tablename: 't_area',
783
+ condition: `f_filialeid = '${this.$login.f.orgid}'`,
784
+ groupitem: 'f_residential_area'
785
+ }
786
+ }, {resolveMsg: null, rejectMsg: null})
787
+ if (res.data) {
788
+ res.data.forEach(item => this.areaslist.push({label: item.f_residential_area, value: item.f_residential_area}))
789
+ }
790
+ },
791
+ show() {
792
+ this.criteriaShow = true
793
+ },
794
+ hidden() {
795
+ this.criteriaShow = !this.criteriaShow
796
+ },
797
+ confirm(createWay) {
798
+ if (!this.checkboxModel.f_plan_name) {
799
+ this.$showMessage('请填写安检计划名称!')
800
+ return
801
+ }
802
+ // if(this.f_effective_start_time == ''){
803
+ // this.$showMessage('请选择有效起始日期!')
804
+ // return
805
+ // }
806
+ // if(this.f_effective_end_time == ''){
807
+ // this.$showMessage('请选择有效结束日期!')
808
+ // return
809
+ // }
810
+ if(this.IsShare == '否'&&!this.checkplan){
811
+ if (!this.checkboxModel.f_checker_id) {
812
+ this.$showMessage('请选择安检员!')
813
+ return
814
+ }
815
+ }
816
+ this.createWay = createWay
817
+ if(this.isBusy === false){
818
+ this.isBusy = true
819
+ this.$showMessage('正在下发中,请稍等...')
820
+ if(!this.checkplan){
821
+ let gen = saveGen(this)
822
+ co(gen)
823
+ }else {
824
+ let _gen = AddItem(this)
825
+ co(_gen)
826
+ }
827
+ this.isBusy = false
828
+ }else {
829
+ this.$showMessage('正在下发中,请稍等...')
830
+ }
831
+
832
+ },
833
+ changeStates() {
834
+ if (this.checkedAll) {//实现反选/
835
+ this.checkrows = [];
836
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
837
+ this.$set('$refs.paged.model.rows[' + i + '].checked', false)
838
+ }
839
+ } else {//实现全选
840
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
841
+ this.$set('$refs.paged.model.rows[' + i + '].checked', true)
842
+ }
843
+ let _this = this
844
+ let condition = this.$refs.paged.$refs.criteria.condition
845
+ let url = this.model.url
846
+ this.$resetpost(`${url}?pageSize=9999999`, {
847
+ data: {
848
+ condition: condition,
849
+ groupitem: '',
850
+ orderitem: 'f_residential_area',
851
+ f_usertype:this.model.f_usertype,
852
+ f_filialeids: this.model.f_filialeids,
853
+ month: this.model.month,
854
+ safeCycle:this.model.safeCycle,
855
+ f_checktime_start:this.model.f_checktime_start,
856
+ f_checktime_end:this.model.f_checktime_end,
857
+ SafeCheckSX: this.model.SafeCheckSX,
858
+ f_last_check_state: this.model.f_last_check_state
859
+ },
860
+ },{resolveMsg: null, rejectMsg: null}, -1).then(
861
+ (respanse) => {
862
+ if (respanse.data.length >= 5000) {
863
+ this.$showMessage("数据量太大,请重新选择")
864
+ } else {
865
+ _this.checkrows = []
866
+ for (let j = 0; j < respanse.data.length; j++) {
867
+ _this.checkrows.push(respanse.data[j])
868
+ }
869
+ console.log(_this.checkrows);
870
+ }
871
+ })
872
+ }
873
+ },
874
+ addChecked(item) {
875
+ console.log(item);
876
+ if (!item.checked) {
877
+ this.checkrows.push(item);
878
+ console.log(this.checkrows);
879
+ } else {
880
+ for (let i = 0; i < this.checkrows.length; i++) {
881
+ if (item.f_userinfo_id == this.checkrows[i].f_userinfo_id) {
882
+ this.checkrows.splice(i, 1)
883
+ }
884
+ }
885
+ }
886
+ },
887
+ ToshowModal() {
888
+ this.creatPlanWay = 'single'
889
+ if (this.checkrows.length > 0) {
890
+ this.checkExist()
891
+ this.showModal = true
892
+ } else {
893
+ this.$showMessage("请选择需要安检的用户!")
894
+ }
895
+ },
896
+ FiltrationPlan(){
897
+ if(this.model.rows.length == 0){
898
+ this.$showMessage("暂无可生成的计划!")
899
+ return
900
+ }
901
+ this.creatPlanWay = 'filtration'
902
+ this.checkExist()
903
+ this.showModal = true
904
+ },
905
+ AllPlan(orgs) {
906
+ if(this.model.rows.length == 0){
907
+ this.$showMessage("暂无可生成的计划!")
908
+ return
909
+ }
910
+ this.creatPlanWay = 'all'
911
+ this.checkExist()
912
+ this.showModal = true
913
+ this.getCheckerInfo(orgs)
914
+ },
915
+ // 安检员任务完成情况
916
+ getCheckerInfo(orgs){
917
+ this.model2.search(`1=1`)
918
+ },
919
+ cancel() {
920
+ this.showModal = false
921
+ this.showAddModal = false
922
+ },
923
+ areas() {
924
+ let rs = []
925
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
926
+ let temp = {
927
+ label: this.$login.f.f_allArea[i].label,
928
+ value: this.$login.f.f_allArea[i].label
929
+ }
930
+ rs.push(temp)
931
+ }
932
+ return [{label: '全部', value: ''}, ...rs]
933
+ },
934
+ initAdjustables() {
935
+ console.log('初始化调压箱', this.$GetSaleParam)
936
+ let arr = []
937
+ let filter = this.$login.f.orgid
938
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
939
+ let temp = {}
940
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
941
+ temp.value = `${item.value.id}`
942
+ arr.push(temp)
943
+ })
944
+ this.adjustables = [{label: '全部', value: ''}, ...arr]
945
+ },
946
+ getRes(obj){
947
+ this.model.f_filialeids = this.$login.convertToIn(obj.resids);
948
+ console.log(this.model.f_filialeids)
949
+ },
950
+ checkExist(){
951
+ co(checkItems(this))
952
+ }
953
+ },
954
+
955
+ watch: {
956
+ 'model.f_usertype'(val){
957
+ if(val == '民用'){
958
+ this.model.safeCycle = this.civil
959
+ }else if(val == '非民用'){
960
+ this.model.safeCycle = this.civilian
961
+ }
962
+ },
963
+ 'model.SafeCheckXZ'(val) {
964
+ if (val == '已安检') {
965
+ this.model.SafeCheckCQ = ''
966
+ this.model.SafeCheckSX = {
967
+ f_check_end: '', // 安检时间 查询起始条件
968
+ f_check_start: ''// 安检时间 查询终止条件
969
+ }
970
+ } else {
971
+ // 当使用筛选条件时,清空不需要的条件选项
972
+ this.$refs.paged.$refs.criteria.model.f_check_start = ''
973
+ this.$refs.paged.$refs.criteria.model.f_check_end = ''
974
+ this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
975
+ this.model.month = ''
976
+ if(val == '应安检'){
977
+ this.model.f_shouldcheck_start = Util.toStartDateString()
978
+ this.model.f_shouldcheck_end = Util.toStandardDateString()
979
+ }
980
+ // this.model.f_checktime_start = ''
981
+ // this.model.f_checktime_end = ''
982
+ }
983
+ },
984
+ // 'checker'(val){
985
+ // console.log("checker",this.checker)
986
+ // if(val){
987
+ // this.checkboxModel.f_checker = this.checker[0].name
988
+ // this.checkboxModel.f_checker_id = this.checker[0].id
989
+ // }
990
+ // },
991
+ 'model.rows'() {
992
+ // if (!this.checkedAll) {//实现反选/
993
+ // this.checkrows = [];
994
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
995
+ var k = false
996
+ for (let j = 0; j < this.checkrows.length; j++) {
997
+ if (this.$refs.paged.model.rows[i].f_userinfo_id == this.checkrows[j].f_userinfo_id) {
998
+ this.$set('$refs.paged.model.rows[' + i + '].checked', true)
999
+ k = true
1000
+ continue
1001
+ }
1002
+ }
1003
+ if (!k) {
1004
+ this.$set('$refs.paged.model.rows[' + i + '].checked', false)
1005
+ }
1006
+ }
1007
+ // } else {//实现全选
1008
+ // // this.checkboxModel = {};
1009
+ // for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
1010
+ // this.$set('$refs.paged.model.rows[' + i + '].checked', true)
1011
+ // }
1012
+ // }
1013
+ }
1014
+ },
1015
+ computed: {
1016
+ getCondition(){
1017
+ console.log('this.orderitem===>',this.model.orderitem)
1018
+ return {condition: `${this.$refs.paged.$refs.criteria.condition}`,orderitem:`${this.model.orderitem}`,
1019
+ f_filialeid:this.model.f_filialeid,month: this.model.month,SafeCheckSX:this.model.SafeCheckSX,
1020
+ f_usertype:this.model.f_usertype,f_last_check_state:this.model.f_last_check_state,f_new_account:this.model.f_new_account,
1021
+ safeCycle:this.model.safeCycle,SafeCheckCQ:this.model.SafeCheckCQ,SafeCheckXZ:this.model.SafeCheckXZ,
1022
+ f_shouldcheck_start:this.model.f_shouldcheck_start,f_shouldcheck_end:this.model.f_shouldcheck_end}
1023
+ },
1024
+ getfield(){
1025
+ let data = {}
1026
+ this.bodyData.forEach((value, index)=>{
1027
+ data[this.bodyData[index]] = this.headData[index]
1028
+ })
1029
+ return data
1030
+ },
1031
+ selected() {
1032
+ return this.$refs.paged.$refs.grid.selected
1033
+ }
1034
+ }
1035
+ }
1036
+ </script>
1037
+ <style scoped>
1038
+ .newcolor{
1039
+ color:red;
1040
+ }
1041
+ .table th{
1042
+ background-color: #f2f6fa;
1043
+ color: black;
1044
+ }
1045
+ .p {
1046
+ color: #fff922;
1047
+ font-weight:bold
1048
+ }
1049
+ .p1 {
1050
+ color: #ff252f;
1051
+ }
1052
+ </style>