safecheck-client 3.0.33-91 → 3.0.33-92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/build/css-loaders.js +34 -34
  5. package/build/dev-android.js +151 -151
  6. package/build/dev-client.js +8 -8
  7. package/build/release.sh +28 -28
  8. package/build/utils.js +71 -71
  9. package/build/webpack.baseandroid.conf.js +83 -83
  10. package/build/webpack.devandroid.conf.js +33 -33
  11. package/build/webpack.hanwei.conf.js +57 -57
  12. package/build/webpack.hwbase.conf.js +78 -78
  13. package/build/webpack.prodandroid.conf.js +60 -60
  14. package/build/webpack.test.conf.js +31 -31
  15. package/config/dev.env.js +6 -6
  16. package/config/index.js +38 -38
  17. package/config/prod.env.js +3 -3
  18. package/config/test.env.js +6 -6
  19. package/docs/AppBase.md +22 -22
  20. package/docs/Busy.md +14 -14
  21. package/docs/Criteria.md +47 -47
  22. package/docs/CriteriaPaged.md +47 -47
  23. package/docs/DataGrid.md +54 -54
  24. package/docs/DataModel.md +22 -22
  25. package/docs/Dynamic.md +42 -42
  26. package/docs/FormPrint.md +18 -18
  27. package/docs/GetParams.md +11 -11
  28. package/docs/GridTree.md +47 -47
  29. package/docs/HttpBusy.md +13 -13
  30. package/docs/HttpStore.md +29 -29
  31. package/docs/MessageBox.md +28 -28
  32. package/docs/PagedList.md +29 -29
  33. package/docs/Pager.md +21 -21
  34. package/docs/PrintFile.md +38 -38
  35. package/docs/Project.md +23 -23
  36. package/docs/Route.md +105 -105
  37. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  38. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  39. package/docs/Task.md +46 -46
  40. package/docs/TreeList.md +28 -28
  41. package/docs/TreeMixin.md +18 -18
  42. package/docs/all.md +10 -10
  43. package/docs/list.md +42 -42
  44. package/docs/partial.md +75 -75
  45. package/docs/selector.md +82 -82
  46. package/docs/tree.md +40 -40
  47. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  48. 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
  49. 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
  50. 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
  51. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  52. package/examples/AddressList/App.vue +13 -13
  53. package/examples/AddressList/index.html +11 -11
  54. package/examples/DispatchList/App.vue +10 -10
  55. package/examples/DispatchList/BaseTree.vue +13 -13
  56. package/examples/DispatchList/Init.vue +22 -22
  57. package/examples/DispatchList/Test.vue +20 -20
  58. package/examples/DispatchList/index.html +11 -11
  59. package/examples/DispatchList/main.js +18 -18
  60. package/home.html +16 -16
  61. package/package.json +2 -1
  62. package/publish.bat +7 -7
  63. package/release.bat +5 -5
  64. package/src/Widget.vue +13 -13
  65. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  66. package/src/android-bootstrap/less/.csscomb.json +304 -304
  67. package/src/android-bootstrap/less/.csslintrc +19 -19
  68. package/src/android-bootstrap/less/alerts.less +73 -73
  69. package/src/android-bootstrap/less/badges.less +66 -66
  70. package/src/android-bootstrap/less/bootstrap.less +56 -56
  71. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  72. package/src/android-bootstrap/less/button-groups.less +247 -247
  73. package/src/android-bootstrap/less/buttons.less +173 -173
  74. package/src/android-bootstrap/less/carousel.less +269 -269
  75. package/src/android-bootstrap/less/close.less +34 -34
  76. package/src/android-bootstrap/less/code.less +69 -69
  77. package/src/android-bootstrap/less/component-animations.less +33 -33
  78. package/src/android-bootstrap/less/dropdowns.less +216 -216
  79. package/src/android-bootstrap/less/forms.less +626 -626
  80. package/src/android-bootstrap/less/grid.less +84 -84
  81. package/src/android-bootstrap/less/input-groups.less +167 -167
  82. package/src/android-bootstrap/less/jumbotron.less +52 -52
  83. package/src/android-bootstrap/less/labels.less +64 -64
  84. package/src/android-bootstrap/less/list-group.less +141 -141
  85. package/src/android-bootstrap/less/media.less +66 -66
  86. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  87. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  88. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  89. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  90. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  91. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  92. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  93. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  94. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  95. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  96. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  97. package/src/android-bootstrap/less/mixins/image.less +33 -33
  98. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  99. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  100. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  101. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  102. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  103. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  104. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  105. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  106. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  107. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  108. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  109. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  110. package/src/android-bootstrap/less/mixins/size.less +10 -10
  111. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  112. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  113. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  114. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  115. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  116. package/src/android-bootstrap/less/mixins.less +40 -40
  117. package/src/android-bootstrap/less/modals.less +151 -151
  118. package/src/android-bootstrap/less/navbar.less +660 -660
  119. package/src/android-bootstrap/less/navs.less +290 -290
  120. package/src/android-bootstrap/less/normalize.less +424 -424
  121. package/src/android-bootstrap/less/pager.less +76 -76
  122. package/src/android-bootstrap/less/pagination.less +89 -89
  123. package/src/android-bootstrap/less/panels.less +274 -274
  124. package/src/android-bootstrap/less/popovers.less +131 -131
  125. package/src/android-bootstrap/less/print.less +101 -101
  126. package/src/android-bootstrap/less/progress-bars.less +87 -87
  127. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  128. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  129. package/src/android-bootstrap/less/scaffolding.less +161 -161
  130. package/src/android-bootstrap/less/tables.less +262 -262
  131. package/src/android-bootstrap/less/theme.less +291 -291
  132. package/src/android-bootstrap/less/thumbnails.less +36 -36
  133. package/src/android-bootstrap/less/tooltip.less +102 -102
  134. package/src/android-bootstrap/less/type.less +303 -303
  135. package/src/android-bootstrap/less/utilities.less +55 -55
  136. package/src/android-bootstrap/less/variables.less +896 -896
  137. package/src/android-bootstrap/less/wells.less +29 -29
  138. package/src/androidTest.js +20 -20
  139. package/src/bootstrap/less/.csscomb.json +304 -304
  140. package/src/bootstrap/less/.csslintrc +19 -19
  141. package/src/bootstrap/less/alerts.less +73 -73
  142. package/src/bootstrap/less/badges.less +66 -66
  143. package/src/bootstrap/less/breadcrumbs.less +26 -26
  144. package/src/bootstrap/less/button-groups.less +247 -247
  145. package/src/bootstrap/less/buttons.less +172 -172
  146. package/src/bootstrap/less/carousel.less +269 -269
  147. package/src/bootstrap/less/close.less +34 -34
  148. package/src/bootstrap/less/code.less +69 -69
  149. package/src/bootstrap/less/component-animations.less +33 -33
  150. package/src/bootstrap/less/dropdowns.less +216 -216
  151. package/src/bootstrap/less/forms.less +626 -626
  152. package/src/bootstrap/less/grid.less +84 -84
  153. package/src/bootstrap/less/input-groups.less +167 -167
  154. package/src/bootstrap/less/jumbotron.less +52 -52
  155. package/src/bootstrap/less/labels.less +64 -64
  156. package/src/bootstrap/less/list-group.less +141 -141
  157. package/src/bootstrap/less/media.less +66 -66
  158. package/src/bootstrap/less/mixins/alerts.less +14 -14
  159. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  160. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  161. package/src/bootstrap/less/mixins/buttons.less +69 -69
  162. package/src/bootstrap/less/mixins/center-block.less +7 -7
  163. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  164. package/src/bootstrap/less/mixins/forms.less +90 -90
  165. package/src/bootstrap/less/mixins/gradients.less +59 -59
  166. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  167. package/src/bootstrap/less/mixins/grid.less +122 -122
  168. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  169. package/src/bootstrap/less/mixins/image.less +33 -33
  170. package/src/bootstrap/less/mixins/labels.less +12 -12
  171. package/src/bootstrap/less/mixins/list-group.less +30 -30
  172. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  173. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  174. package/src/bootstrap/less/mixins/opacity.less +8 -8
  175. package/src/bootstrap/less/mixins/pagination.less +24 -24
  176. package/src/bootstrap/less/mixins/panels.less +24 -24
  177. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  178. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  179. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  180. package/src/bootstrap/less/mixins/resize.less +6 -6
  181. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  182. package/src/bootstrap/less/mixins/size.less +10 -10
  183. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  184. package/src/bootstrap/less/mixins/table-row.less +44 -44
  185. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  186. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  187. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  188. package/src/bootstrap/less/mixins.less +40 -40
  189. package/src/bootstrap/less/modals.less +151 -151
  190. package/src/bootstrap/less/navbar.less +660 -660
  191. package/src/bootstrap/less/normalize.less +424 -424
  192. package/src/bootstrap/less/pager.less +76 -76
  193. package/src/bootstrap/less/pagination.less +89 -89
  194. package/src/bootstrap/less/panels.less +275 -275
  195. package/src/bootstrap/less/popovers.less +131 -131
  196. package/src/bootstrap/less/print.less +101 -101
  197. package/src/bootstrap/less/progress-bars.less +87 -87
  198. package/src/bootstrap/less/responsive-embed.less +35 -35
  199. package/src/bootstrap/less/responsive-utilities.less +194 -194
  200. package/src/bootstrap/less/scaffolding.less +161 -161
  201. package/src/bootstrap/less/tables.less +262 -262
  202. package/src/bootstrap/less/theme.less +291 -291
  203. package/src/bootstrap/less/thumbnails.less +36 -36
  204. package/src/bootstrap/less/tooltip.less +102 -102
  205. package/src/bootstrap/less/type.less +303 -303
  206. package/src/bootstrap/less/utilities.less +55 -55
  207. package/src/bootstrap/less/wells.less +29 -29
  208. package/src/components/AloneLoadParams.vue +25 -25
  209. package/src/components/FileUpload.vue +696 -696
  210. package/src/components/Hello.vue +39 -39
  211. package/src/components/LeftTree.vue +27 -27
  212. package/src/components/Main.vue +393 -393
  213. package/src/components/android/AddGas.vue +147 -147
  214. package/src/components/android/AddressList.vue +61 -61
  215. package/src/components/android/AttendanceTally.vue +116 -116
  216. package/src/components/android/Blank.vue +10 -10
  217. package/src/components/android/CheckUnplanPage.vue +56 -56
  218. package/src/components/android/Checker.vue +12 -12
  219. package/src/components/android/CheckerAnnual.vue +81 -81
  220. package/src/components/android/CheckerAvarta.vue +82 -82
  221. package/src/components/android/CheckerMonthly.vue +84 -84
  222. package/src/components/android/DevicesNoncivil.vue +214 -214
  223. package/src/components/android/EquipmentInspection.vue +348 -348
  224. package/src/components/android/FootprintMap.vue +120 -120
  225. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  226. package/src/components/android/LcheckUnplan.vue +108 -108
  227. package/src/components/android/MasterMain.vue +77 -77
  228. package/src/components/android/Menu.vue +132 -132
  229. package/src/components/android/NavBottom.vue +157 -157
  230. package/src/components/android/PaperAlarm.vue +85 -85
  231. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  232. package/src/components/android/PlumberAnnual.vue +83 -83
  233. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  234. package/src/components/android/PlumberMonthly.vue +84 -84
  235. package/src/components/android/PostMap.vue +83 -83
  236. package/src/components/android/QueryCheckHistory.vue +122 -122
  237. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  238. package/src/components/android/RepairMain.vue +60 -60
  239. package/src/components/android/Repairman.vue +12 -12
  240. package/src/components/android/StationMaster.vue +12 -12
  241. package/src/components/android/SwitchValve.vue +323 -323
  242. package/src/components/checkerphonestate/Checker.vue +32 -32
  243. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  244. package/src/components/defects/AddDefectModal.vue +120 -120
  245. package/src/components/defects/AddDevice.vue +95 -95
  246. package/src/components/defects/DefectModal.vue +101 -101
  247. package/src/components/defects/DefectSeting.vue +98 -98
  248. package/src/components/defects/DevicesAndItem.vue +39 -39
  249. package/src/components/defects/DevicesSeting.vue +106 -106
  250. package/src/components/equipment/BoilerUsage.vue +105 -105
  251. package/src/components/equipment/CookerUsage.vue +105 -105
  252. package/src/components/equipment/DeviceUsage.vue +105 -105
  253. package/src/components/equipment/FurnaceUsage.vue +105 -105
  254. package/src/components/equipment/GasMeterUsage.vue +109 -109
  255. package/src/components/equipment/HeaterUsage.vue +105 -105
  256. package/src/components/gasusage/GasUsage.vue +126 -126
  257. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  258. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  259. package/src/components/metterfiles/MetterFiles.vue +104 -104
  260. package/src/components/notice/NoticeForm.vue +100 -100
  261. package/src/components/notice/NoticeIssue.vue +20 -20
  262. package/src/components/notice/NoticeQuery.vue +76 -76
  263. package/src/components/paper/PicViewer.vue +18 -18
  264. package/src/components/paper/RepairVerify.vue +139 -139
  265. package/src/components/paper/RepairVerifyForm.vue +76 -76
  266. package/src/components/paper/VerifyForm.vue +107 -107
  267. package/src/components/phonestate/DailyTraffic.vue +57 -57
  268. package/src/components/phonestate/LastKnownState.vue +74 -74
  269. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  270. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  271. package/src/components/phonestate/PostMap.vue +82 -82
  272. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  273. package/src/components/task/RepairAnnual.vue +79 -79
  274. package/src/components/task/RepairAnnualDetail.vue +49 -49
  275. package/src/components/task/RepairMonthly.vue +91 -91
  276. package/src/components/task/TaskAnnual.vue +77 -77
  277. package/src/components/task/TaskAnnualDetail.vue +47 -47
  278. package/src/components/task/TaskMonthly.vue +89 -89
  279. package/src/components/userfile/MeterFile.vue +145 -145
  280. package/src/components/userfile/MeterModify.vue +46 -46
  281. package/src/components/userfile/UserFile.vue +118 -118
  282. package/src/components/userfile/UserfileChange.vue +277 -277
  283. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  284. package/src/expandcss.less +571 -571
  285. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +468 -468
  286. package/src/filiale/tianke/pc/checkScreen.vue +786 -781
  287. package/src/filiale/weinan/android/SafecheckDevices.vue +1295 -1295
  288. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  289. package/src/filiale/yangchunboneng/pc/CheckBookList.vue +347 -347
  290. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +269 -269
  291. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  292. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +138 -138
  293. package/src/main.js +33 -33
  294. package/src/plugins/LoadData.js +10 -10
  295. package/src/plugins/LoadParams.js +24 -24
  296. package/src/stores/AppData.js +46 -46
  297. package/src/stores/wxconfig.js +10 -10
  298. package/src/utils/getNowDate.js +33 -33
  299. package/test/e2e/custom-assertions/elementCount.js +26 -26
  300. package/test/e2e/nightwatch.conf.js +40 -40
  301. package/test/e2e/runner.js +30 -30
  302. package/test/e2e/specs/test.js +13 -13
  303. package/test/unit/.eslintrc +5 -5
  304. package/test/unit/TestUtil.js +62 -62
  305. package/test/unit/context.html +20 -20
  306. package/test/unit/index.js +13 -13
@@ -1,468 +1,468 @@
1
- <template>
2
- <div class="flex">
3
- <criteria-paged :model="model" v-ref:paged :pager="true">
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">
8
- <role-selector-safe
9
- role-name="安检员"
10
- role-lable="安&ensp;检&ensp;员"
11
- @re-res="$parent.$parent.getorg"
12
- :value.sync="model.f_checker_id"
13
- v-model="model.f_checker_id"
14
- condition="f_checker_name like '%{}%'">
15
- </role-selector-safe>
16
- </div>
17
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
18
- <label class="font_normal_body">小区名称</label>
19
- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
20
- condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
21
- </div>
22
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
23
- <label class="font_normal_body">计划名称</label>
24
- <v-select class="select_list select"
25
- placeholder='计划名称' style="width: 60%"
26
- :search="true"
27
- v-model="model.f_plan_name"
28
- :value.sync="model.f_plan_name"
29
- :options='$parent.$parent.planName'
30
- condition="f_plan_id = '{}'"
31
- :value-single="true"
32
- close-on-select clear-button></v-select>
33
-
34
- </div>
35
- <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
36
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" style="float:right; padding-right: 25px">
37
- <div class="span" style="float:right;">
38
- <div style="float: right;margin-left:10px" class="button_spacing"
39
- :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
40
- @click="$parent.$parent.hiddenr()"></div>
41
- <div class="button_spacing" style="float: right;margin-left:10px"
42
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
43
- @click="$parent.$parent.hidden()">
44
- </div>
45
- <button id="btnaaaa" style="float: right" class="button_search"
46
- @click="$parent.$parent.exportexcel()"
47
- v-el:cx>导出</button>
48
- <button id="btnaaa" style="float: right" class="button_search"
49
- @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
50
- v-el:cx>查询</button>
51
- </div>
52
- </div>
53
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
54
- <label class="font_normal_body">起始时间</label>
55
- <datepicker
56
- :value.sync="$parent.$parent.f_check_start"
57
- placeholder='起始时间' style="width:60%"
58
- :disabled-days-of-week="[]"
59
- :format="'yyyy-MM'"
60
- :select-month="true"
61
- :show-rest-button="reset">
62
- </datepicker>
63
- </div>
64
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
65
- <label class="font_normal_body">结束时间</label>
66
- <datepicker
67
- :value.sync="$parent.$parent.f_check_end"
68
- placeholder='结束时间' style="width:60%"
69
- :disabled-days-of-week="[]"
70
- :format="'yyyy-MM'"
71
- :select-month="true"
72
- :show-rest-button="reset">
73
- </datepicker>
74
- </div>
75
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
76
- <label class="font_normal_body">安检起始</label>
77
- <datepicker
78
- :value.sync="$parent.$parent.f_start_time"
79
- placeholder='安检起始' style="width:60%"
80
- :format="'yyyy-MM-dd'"
81
- :show-rest-button="reset">
82
- </datepicker>
83
- </div>
84
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
85
- <label class="font_normal_body">安检截止</label>
86
- <datepicker
87
- :value.sync="$parent.$parent.f_end_time"
88
- placeholder='安检截止' style="width:60%"
89
- :format="'yyyy-MM-dd'"
90
- :show-rest-button="reset">
91
- </datepicker>
92
- </div>
93
- </div>
94
- <div class="row">
95
- <div class="col-sm-12">
96
- <label class="control-label" style="color: #c7254e">汇 总 项</label>
97
- <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
98
- <label for="f_plan_month">计划月份</label>
99
- <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
100
- <label for="f_no_checkplan">计划类型</label>
101
- <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
102
- <label for="f_residential_area">小区名称</label>
103
- <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
104
- <label for="f_plan_name">计划名称</label>
105
- <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
106
- <label for="f_checker_name">安检员</label>
107
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
108
- <label for="f_checker_name">档案数量</label>
109
- </div>
110
- </div>
111
- </div>
112
-
113
- </criteria>
114
- <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
115
- <template partial='head'>
116
- <tr>
117
- <th>
118
- <nobr>序号</nobr>
119
- </th>
120
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
121
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
122
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
123
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
124
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
125
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
126
- <th>
127
- <nobr>计划总数</nobr>
128
- </th>
129
- <th>
130
- <nobr>未检</nobr>
131
- </th>
132
- <th>
133
- <nobr>已检</nobr>
134
- </th>
135
- <th>
136
- <nobr>入户</nobr>
137
- </th>
138
- <th>
139
- <nobr>到访不遇</nobr>
140
- </th>
141
- <th>
142
- <nobr>拒检</nobr>
143
- </th>
144
- <th>
145
- <nobr>安检率</nobr>
146
- </th>
147
- <!--<th>-->
148
- <!--<nobr>查看</nobr>-->
149
- <!--</th>-->
150
- </tr>
151
- </template>
152
- <template partial='body'>
153
- <tr>
154
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
155
- <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>
156
- <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>
157
- <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>
158
- <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>
159
- <td style="text-align:center" :class="{'td-0':row && !row.f_checker_name,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_checker_name && row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
160
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
161
- <td style="text-align:center">{{row.f_plan_total}}</td>
162
- <td style="text-align:center">{{row.f_weijian}}</td>
163
- <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
164
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
165
- <td style="text-align:center">{{row.f_buyu}}</td>
166
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
167
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
168
- <!--<td style="text-align: center;">-->
169
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
170
- <!--</td>-->
171
- </tr>
172
- </template>
173
- <template partial='foot'></template>
174
- </data-grid>
175
- </criteria-paged>
176
- </div>
177
- </template>
178
-
179
- <script>
180
- /**
181
- *阶梯气价查询列表
182
- */
183
- import {PagedList} from 'vue-client'
184
- import { HttpResetClass } from 'vue-client'
185
- import XLSX from 'xlsx'
186
- export default {
187
- data () {
188
- return {
189
- model: new PagedList('rs/sql/getCheckPlanAreaList', 20),
190
- // 公司下拉
191
- curorgid: [this.$login.f.orgid],
192
- row: {},
193
- f_orgid: '',
194
- nameForSql: [],
195
- groupNameForSql: '',
196
- listflag:false,
197
- nameflag:false,
198
- criteriaShow: false,
199
- f_check_start:'',
200
- f_check_end:'',
201
- f_start_time:'',
202
- f_end_time:'',
203
- condition1:'1=1',
204
- planName:[{label: '全部', value: ''}],
205
- exportExcelField: {
206
- 'f_weijian':'未检',
207
- 'f_yijian':'已检',
208
- 'f_ruhu':'入户',
209
- 'f_buyu':'到访不遇',
210
- 'f_jujian':'拒检',
211
- 'f_check_bv':'安检率'
212
- }
213
- }
214
- },
215
- props: {
216
- row: {},
217
- config: {},
218
- ispartial: false,
219
- f_filialeid: {
220
- type: String
221
- }
222
- },
223
- ready () {
224
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
225
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
226
- this.pl()
227
- // this.search()
228
-
229
- },
230
- methods: {
231
- exportexcel(){
232
- //tag
233
- // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
234
- const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
235
- console.log(aa)
236
- let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
237
- try {
238
- XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
239
- } catch(e) {
240
- //tag;
241
- }
242
- },
243
- // 获取导出列
244
- getexportExcelField(){
245
- this.exportExcelField = {
246
- 'f_weijian':'未检',
247
- 'f_yijian':'已检',
248
- 'f_ruhu':'入户',
249
- 'f_buyu':'到访不遇',
250
- 'f_jujian':'拒检',
251
- 'f_check_bv':'安检率',
252
- 'f_plan_total':'计划总数'
253
- }
254
- let forName = this.groupNameForSql.split(",")
255
- for (let i = 0; i < forName.length; i++) {
256
- let ff = forName[i]
257
- if (ff==='f_plan_month') {
258
- this.exportExcelField.f_plan_month='计划月份'
259
- }
260
- if (ff==='f_no_checkplan') {
261
- this.exportExcelField.f_checker_name='计划类型'
262
- }
263
- if (ff==='f_plan_name') {
264
- this.exportExcelField.f_plan_name='计划名称'
265
- }
266
- if (ff==='f_checker_name') {
267
- this.exportExcelField.f_checker_name='安检员'
268
- }if (ff==='f_residential_area') {
269
- this.exportExcelField.f_checker_name='小区名称'
270
- }if (ff==='f_user_number') {
271
- this.exportExcelField.f_checker_name='档案数量'
272
- }
273
- }
274
- },
275
- pl() {
276
- let getGasman = new HttpResetClass()
277
- getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
278
- data: {
279
- items: "id,f_plan_name",
280
- tablename: "t_check_plan",
281
- condition: `f_filialeid = '${this.curorgid}'`,
282
- orderitem: "id"
283
- }
284
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
285
- //tag
286
- //tag
287
- //tag
288
- for (let i = 0; i < plne.data.length; i++) {
289
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
290
- }
291
- //tag
292
- })
293
- },
294
- hiddenr() {
295
- this.$parent.isdetail = !this.$parent.isdetail
296
- },
297
- hidden() {
298
- this.criteriaShow = !this.criteriaShow
299
- },
300
- search () {
301
- this.$refs.paged.$refs.cri.search()
302
- this.$dispatch('search')
303
- },
304
- getorg (val) {
305
- this.f_orgid = this.$login.convertToIn(val.resids)
306
- this.f_filialeid = val[0]
307
-
308
- },
309
- selfSearch (args) {
310
-
311
- if (!this.f_orgid) {
312
- this.getorg([this.$login.f.orgid])
313
- args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
314
- }
315
- if (this.f_orgid) {
316
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
317
- }
318
- if(this.f_check_start){
319
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
320
- }
321
- if(this.f_check_end){
322
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
323
- }
324
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
325
- if (this.groupNameForSql=='undefined'){
326
- //tag
327
- this.$showMessage("请至少选择一项进行汇总")
328
- return
329
- }
330
- this.model.paramSource = { groupName: `'${this.groupNameForSql}'`, f_start_time:`'${this.f_start_time}'`, f_end_time:`'${this.f_end_time}'` }
331
- this.model.search(args.condition, args.model)
332
- },
333
-
334
- // 拼接groupName1
335
- getGroupName1 () {
336
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
337
- var newtemp=[]
338
-
339
- for (var i=0;i<temp.length;i++){
340
- for (var j=0;j<this.nameForSql.length;j++){
341
- //tag
342
- if(temp[i]==this.nameForSql[j]){
343
- newtemp.push(this.nameForSql[j])
344
- }
345
- }
346
- }
347
- let str = ''
348
-
349
- for (var i=0;i < newtemp.length - 1; i++) {
350
- str += newtemp[i] + ','
351
- }
352
- str += newtemp[i]
353
- this.groupNameForSql = str.trim()
354
- }
355
- },
356
- watch: {
357
- // 'nameForSql' () {
358
- //
359
- // this.getGroupName1()
360
- // },
361
- 'nameForSql' () {
362
- var e = document.createEvent("MouseEvents");
363
- e.initEvent("click", true, true);
364
- document.getElementById("btnaaa").dispatchEvent(e);
365
- },
366
- 'model.rows'(){
367
- //tag
368
- if(this.listflag){
369
- return;
370
- }
371
- this.listflag=true
372
- //tag
373
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
374
- var newtemp=[]
375
- for (var i=0;i<temp.length;i++){
376
- for (var j=0;j<this.nameForSql.length;j++){
377
- //tag
378
- if(temp[i]==this.nameForSql[j]){
379
- newtemp.push(this.nameForSql[j])
380
- }
381
- }
382
- }
383
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
384
- return
385
- }
386
- var temp=JSON.parse(JSON.stringify(this.model.rows))
387
-
388
- //遍历查询结果 为指定列增加样式
389
- for (var i=0;i<newtemp.length-1;i++){
390
- if(newtemp[i]=='f_user_number'){
391
- return;
392
- }
393
- //tag
394
- var ss=''
395
- for (var j=0;j<temp.length;j++){
396
- if(j>0&&i>0){
397
- var flag=false
398
- for(var t=i-1;t>-1;t--){
399
- //tag
400
- //tag
401
- //tag
402
- //tag
403
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
404
- flag=true
405
- break
406
- }
407
- }
408
- //tag
409
- if(flag){
410
- ss=temp[j][newtemp[i]]
411
- continue
412
- }
413
- }
414
- if(temp[j][newtemp[i]]==ss){
415
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
416
- }else {
417
- ss=temp[j][newtemp[i]]
418
- }
419
- }
420
- }
421
- //tag
422
- this.model.rows=JSON.parse(JSON.stringify(temp))
423
- }
424
- },
425
- computed:{
426
- exportParameter(){
427
- // excel 导出条件拼接
428
- return {
429
- condition: this.$refs.paged.model.condition,
430
- groupName: this.groupNameForSql
431
- }
432
- }
433
- }
434
- }
435
- </script>
436
-
437
- <style scoped>
438
-
439
- .td-0{
440
- border: 1px solid #000000;
441
- }
442
-
443
- .td-1{
444
- border: none;
445
- border-top: 1px solid #000000;
446
- border-left: 1px solid #000000;
447
- border-right: 1px solid #000000;
448
- }
449
-
450
- .td-2{
451
- border: none;
452
- border-left: 1px solid #000000;
453
- border-right: 1px solid #000000;
454
- }
455
- .td-4{
456
- border: none;
457
- border-top: 1px solid #000000;
458
- border-left: 1px solid #000000;
459
- border-right: 1px solid #000000;
460
- border-bottom: 1px solid #000000;
461
- }
462
- .td-3{
463
- border: none;
464
- border-left: 1px solid #000000;
465
- border-right: 1px solid #000000;
466
- border-bottom: 1px solid #000000;
467
- }
468
- </style>
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged :pager="true">
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">
8
+ <role-selector-safe
9
+ role-name="安检员"
10
+ role-lable="安&ensp;检&ensp;员"
11
+ @re-res="$parent.$parent.getorg"
12
+ :value.sync="model.f_checker_id"
13
+ v-model="model.f_checker_id"
14
+ condition="f_checker_name like '%{}%'">
15
+ </role-selector-safe>
16
+ </div>
17
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
18
+ <label class="font_normal_body">小区名称</label>
19
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
20
+ condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
21
+ </div>
22
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
23
+ <label class="font_normal_body">计划名称</label>
24
+ <v-select class="select_list select"
25
+ placeholder='计划名称' style="width: 60%"
26
+ :search="true"
27
+ v-model="model.f_plan_name"
28
+ :value.sync="model.f_plan_name"
29
+ :options='$parent.$parent.planName'
30
+ condition="f_plan_id = '{}'"
31
+ :value-single="true"
32
+ close-on-select clear-button></v-select>
33
+
34
+ </div>
35
+ <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
36
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" style="float:right; padding-right: 25px">
37
+ <div class="span" style="float:right;">
38
+ <div style="float: right;margin-left:10px" class="button_spacing"
39
+ :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
40
+ @click="$parent.$parent.hiddenr()"></div>
41
+ <div class="button_spacing" style="float: right;margin-left:10px"
42
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
43
+ @click="$parent.$parent.hidden()">
44
+ </div>
45
+ <button id="btnaaaa" style="float: right" class="button_search"
46
+ @click="$parent.$parent.exportexcel()"
47
+ v-el:cx>导出</button>
48
+ <button id="btnaaa" style="float: right" class="button_search"
49
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
50
+ v-el:cx>查询</button>
51
+ </div>
52
+ </div>
53
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
54
+ <label class="font_normal_body">起始时间</label>
55
+ <datepicker
56
+ :value.sync="$parent.$parent.f_check_start"
57
+ placeholder='起始时间' style="width:60%"
58
+ :disabled-days-of-week="[]"
59
+ :format="'yyyy-MM'"
60
+ :select-month="true"
61
+ :show-rest-button="reset">
62
+ </datepicker>
63
+ </div>
64
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
65
+ <label class="font_normal_body">结束时间</label>
66
+ <datepicker
67
+ :value.sync="$parent.$parent.f_check_end"
68
+ placeholder='结束时间' style="width:60%"
69
+ :disabled-days-of-week="[]"
70
+ :format="'yyyy-MM'"
71
+ :select-month="true"
72
+ :show-rest-button="reset">
73
+ </datepicker>
74
+ </div>
75
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
76
+ <label class="font_normal_body">安检起始</label>
77
+ <datepicker
78
+ :value.sync="$parent.$parent.f_start_time"
79
+ placeholder='安检起始' style="width:60%"
80
+ :format="'yyyy-MM-dd'"
81
+ :show-rest-button="reset">
82
+ </datepicker>
83
+ </div>
84
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
85
+ <label class="font_normal_body">安检截止</label>
86
+ <datepicker
87
+ :value.sync="$parent.$parent.f_end_time"
88
+ placeholder='安检截止' style="width:60%"
89
+ :format="'yyyy-MM-dd'"
90
+ :show-rest-button="reset">
91
+ </datepicker>
92
+ </div>
93
+ </div>
94
+ <div class="row">
95
+ <div class="col-sm-12">
96
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
97
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
98
+ <label for="f_plan_month">计划月份</label>
99
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
100
+ <label for="f_no_checkplan">计划类型</label>
101
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
102
+ <label for="f_residential_area">小区名称</label>
103
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
104
+ <label for="f_plan_name">计划名称</label>
105
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
106
+ <label for="f_checker_name">安检员</label>
107
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
108
+ <label for="f_checker_name">档案数量</label>
109
+ </div>
110
+ </div>
111
+ </div>
112
+
113
+ </criteria>
114
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
115
+ <template partial='head'>
116
+ <tr>
117
+ <th>
118
+ <nobr>序号</nobr>
119
+ </th>
120
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
121
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
122
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
123
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
124
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
125
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
126
+ <th>
127
+ <nobr>计划总数</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>未检</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>已检</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>入户</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>到访不遇</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>拒检</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>安检率</nobr>
146
+ </th>
147
+ <!--<th>-->
148
+ <!--<nobr>查看</nobr>-->
149
+ <!--</th>-->
150
+ </tr>
151
+ </template>
152
+ <template partial='body'>
153
+ <tr>
154
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
155
+ <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>
156
+ <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>
157
+ <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>
158
+ <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>
159
+ <td style="text-align:center" :class="{'td-0':row && !row.f_checker_name,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_checker_name && row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
160
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
161
+ <td style="text-align:center">{{row.f_plan_total}}</td>
162
+ <td style="text-align:center">{{row.f_weijian}}</td>
163
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
164
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
165
+ <td style="text-align:center">{{row.f_buyu}}</td>
166
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
167
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
168
+ <!--<td style="text-align: center;">-->
169
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
170
+ <!--</td>-->
171
+ </tr>
172
+ </template>
173
+ <template partial='foot'></template>
174
+ </data-grid>
175
+ </criteria-paged>
176
+ </div>
177
+ </template>
178
+
179
+ <script>
180
+ /**
181
+ *阶梯气价查询列表
182
+ */
183
+ import {PagedList} from 'vue-client'
184
+ import { HttpResetClass } from 'vue-client'
185
+ import XLSX from 'xlsx'
186
+ export default {
187
+ data () {
188
+ return {
189
+ model: new PagedList('rs/sql/getCheckPlanAreaList', 20),
190
+ // 公司下拉
191
+ curorgid: [this.$login.f.orgid],
192
+ row: {},
193
+ f_orgid: '',
194
+ nameForSql: [],
195
+ groupNameForSql: '',
196
+ listflag:false,
197
+ nameflag:false,
198
+ criteriaShow: false,
199
+ f_check_start:'',
200
+ f_check_end:'',
201
+ f_start_time:'',
202
+ f_end_time:'',
203
+ condition1:'1=1',
204
+ planName:[{label: '全部', value: ''}],
205
+ exportExcelField: {
206
+ 'f_weijian':'未检',
207
+ 'f_yijian':'已检',
208
+ 'f_ruhu':'入户',
209
+ 'f_buyu':'到访不遇',
210
+ 'f_jujian':'拒检',
211
+ 'f_check_bv':'安检率'
212
+ }
213
+ }
214
+ },
215
+ props: {
216
+ row: {},
217
+ config: {},
218
+ ispartial: false,
219
+ f_filialeid: {
220
+ type: String
221
+ }
222
+ },
223
+ ready () {
224
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
225
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
226
+ this.pl()
227
+ // this.search()
228
+
229
+ },
230
+ methods: {
231
+ exportexcel(){
232
+ //tag
233
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
234
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
235
+ console.log(aa)
236
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
237
+ try {
238
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
239
+ } catch(e) {
240
+ //tag;
241
+ }
242
+ },
243
+ // 获取导出列
244
+ getexportExcelField(){
245
+ this.exportExcelField = {
246
+ 'f_weijian':'未检',
247
+ 'f_yijian':'已检',
248
+ 'f_ruhu':'入户',
249
+ 'f_buyu':'到访不遇',
250
+ 'f_jujian':'拒检',
251
+ 'f_check_bv':'安检率',
252
+ 'f_plan_total':'计划总数'
253
+ }
254
+ let forName = this.groupNameForSql.split(",")
255
+ for (let i = 0; i < forName.length; i++) {
256
+ let ff = forName[i]
257
+ if (ff==='f_plan_month') {
258
+ this.exportExcelField.f_plan_month='计划月份'
259
+ }
260
+ if (ff==='f_no_checkplan') {
261
+ this.exportExcelField.f_checker_name='计划类型'
262
+ }
263
+ if (ff==='f_plan_name') {
264
+ this.exportExcelField.f_plan_name='计划名称'
265
+ }
266
+ if (ff==='f_checker_name') {
267
+ this.exportExcelField.f_checker_name='安检员'
268
+ }if (ff==='f_residential_area') {
269
+ this.exportExcelField.f_checker_name='小区名称'
270
+ }if (ff==='f_user_number') {
271
+ this.exportExcelField.f_checker_name='档案数量'
272
+ }
273
+ }
274
+ },
275
+ pl() {
276
+ let getGasman = new HttpResetClass()
277
+ getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
278
+ data: {
279
+ items: "id,f_plan_name",
280
+ tablename: "t_check_plan",
281
+ condition: `f_filialeid = '${this.curorgid}'`,
282
+ orderitem: "id"
283
+ }
284
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
285
+ //tag
286
+ //tag
287
+ //tag
288
+ for (let i = 0; i < plne.data.length; i++) {
289
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
290
+ }
291
+ //tag
292
+ })
293
+ },
294
+ hiddenr() {
295
+ this.$parent.isdetail = !this.$parent.isdetail
296
+ },
297
+ hidden() {
298
+ this.criteriaShow = !this.criteriaShow
299
+ },
300
+ search () {
301
+ this.$refs.paged.$refs.cri.search()
302
+ this.$dispatch('search')
303
+ },
304
+ getorg (val) {
305
+ this.f_orgid = this.$login.convertToIn(val.resids)
306
+ this.f_filialeid = val[0]
307
+
308
+ },
309
+ selfSearch (args) {
310
+
311
+ if (!this.f_orgid) {
312
+ this.getorg([this.$login.f.orgid])
313
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
314
+ }
315
+ if (this.f_orgid) {
316
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
317
+ }
318
+ if(this.f_check_start){
319
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
320
+ }
321
+ if(this.f_check_end){
322
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
323
+ }
324
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
325
+ if (this.groupNameForSql=='undefined'){
326
+ //tag
327
+ this.$showMessage("请至少选择一项进行汇总")
328
+ return
329
+ }
330
+ this.model.paramSource = { groupName: `'${this.groupNameForSql}'`, f_start_time:`'${this.f_start_time}'`, f_end_time:`'${this.f_end_time}'` }
331
+ this.model.search(args.condition, args.model)
332
+ },
333
+
334
+ // 拼接groupName1
335
+ getGroupName1 () {
336
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
337
+ var newtemp=[]
338
+
339
+ for (var i=0;i<temp.length;i++){
340
+ for (var j=0;j<this.nameForSql.length;j++){
341
+ //tag
342
+ if(temp[i]==this.nameForSql[j]){
343
+ newtemp.push(this.nameForSql[j])
344
+ }
345
+ }
346
+ }
347
+ let str = ''
348
+
349
+ for (var i=0;i < newtemp.length - 1; i++) {
350
+ str += newtemp[i] + ','
351
+ }
352
+ str += newtemp[i]
353
+ this.groupNameForSql = str.trim()
354
+ }
355
+ },
356
+ watch: {
357
+ // 'nameForSql' () {
358
+ //
359
+ // this.getGroupName1()
360
+ // },
361
+ 'nameForSql' () {
362
+ var e = document.createEvent("MouseEvents");
363
+ e.initEvent("click", true, true);
364
+ document.getElementById("btnaaa").dispatchEvent(e);
365
+ },
366
+ 'model.rows'(){
367
+ //tag
368
+ if(this.listflag){
369
+ return;
370
+ }
371
+ this.listflag=true
372
+ //tag
373
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
374
+ var newtemp=[]
375
+ for (var i=0;i<temp.length;i++){
376
+ for (var j=0;j<this.nameForSql.length;j++){
377
+ //tag
378
+ if(temp[i]==this.nameForSql[j]){
379
+ newtemp.push(this.nameForSql[j])
380
+ }
381
+ }
382
+ }
383
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
384
+ return
385
+ }
386
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
387
+
388
+ //遍历查询结果 为指定列增加样式
389
+ for (var i=0;i<newtemp.length-1;i++){
390
+ if(newtemp[i]=='f_user_number'){
391
+ return;
392
+ }
393
+ //tag
394
+ var ss=''
395
+ for (var j=0;j<temp.length;j++){
396
+ if(j>0&&i>0){
397
+ var flag=false
398
+ for(var t=i-1;t>-1;t--){
399
+ //tag
400
+ //tag
401
+ //tag
402
+ //tag
403
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
404
+ flag=true
405
+ break
406
+ }
407
+ }
408
+ //tag
409
+ if(flag){
410
+ ss=temp[j][newtemp[i]]
411
+ continue
412
+ }
413
+ }
414
+ if(temp[j][newtemp[i]]==ss){
415
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
416
+ }else {
417
+ ss=temp[j][newtemp[i]]
418
+ }
419
+ }
420
+ }
421
+ //tag
422
+ this.model.rows=JSON.parse(JSON.stringify(temp))
423
+ }
424
+ },
425
+ computed:{
426
+ exportParameter(){
427
+ // excel 导出条件拼接
428
+ return {
429
+ condition: this.$refs.paged.model.condition,
430
+ groupName: this.groupNameForSql
431
+ }
432
+ }
433
+ }
434
+ }
435
+ </script>
436
+
437
+ <style scoped>
438
+
439
+ .td-0{
440
+ border: 1px solid #000000;
441
+ }
442
+
443
+ .td-1{
444
+ border: none;
445
+ border-top: 1px solid #000000;
446
+ border-left: 1px solid #000000;
447
+ border-right: 1px solid #000000;
448
+ }
449
+
450
+ .td-2{
451
+ border: none;
452
+ border-left: 1px solid #000000;
453
+ border-right: 1px solid #000000;
454
+ }
455
+ .td-4{
456
+ border: none;
457
+ border-top: 1px solid #000000;
458
+ border-left: 1px solid #000000;
459
+ border-right: 1px solid #000000;
460
+ border-bottom: 1px solid #000000;
461
+ }
462
+ .td-3{
463
+ border: none;
464
+ border-left: 1px solid #000000;
465
+ border-right: 1px solid #000000;
466
+ border-bottom: 1px solid #000000;
467
+ }
468
+ </style>