safecheck-client 3.0.35-2 → 3.0.35-4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. 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
  33. 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
  34. 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
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/androidTest.js +20 -20
  122. package/src/bootstrap/less/.csscomb.json +304 -304
  123. package/src/bootstrap/less/.csslintrc +19 -19
  124. package/src/bootstrap/less/alerts.less +73 -73
  125. package/src/bootstrap/less/badges.less +66 -66
  126. package/src/bootstrap/less/breadcrumbs.less +26 -26
  127. package/src/bootstrap/less/button-groups.less +247 -247
  128. package/src/bootstrap/less/buttons.less +172 -172
  129. package/src/bootstrap/less/carousel.less +269 -269
  130. package/src/bootstrap/less/close.less +34 -34
  131. package/src/bootstrap/less/code.less +69 -69
  132. package/src/bootstrap/less/component-animations.less +33 -33
  133. package/src/bootstrap/less/dropdowns.less +216 -216
  134. package/src/bootstrap/less/forms.less +626 -626
  135. package/src/bootstrap/less/grid.less +84 -84
  136. package/src/bootstrap/less/input-groups.less +167 -167
  137. package/src/bootstrap/less/jumbotron.less +52 -52
  138. package/src/bootstrap/less/labels.less +64 -64
  139. package/src/bootstrap/less/list-group.less +141 -141
  140. package/src/bootstrap/less/media.less +66 -66
  141. package/src/bootstrap/less/mixins/alerts.less +14 -14
  142. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  143. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  144. package/src/bootstrap/less/mixins/buttons.less +69 -69
  145. package/src/bootstrap/less/mixins/center-block.less +7 -7
  146. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  147. package/src/bootstrap/less/mixins/forms.less +90 -90
  148. package/src/bootstrap/less/mixins/gradients.less +59 -59
  149. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  150. package/src/bootstrap/less/mixins/grid.less +122 -122
  151. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  152. package/src/bootstrap/less/mixins/image.less +33 -33
  153. package/src/bootstrap/less/mixins/labels.less +12 -12
  154. package/src/bootstrap/less/mixins/list-group.less +30 -30
  155. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  156. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  157. package/src/bootstrap/less/mixins/opacity.less +8 -8
  158. package/src/bootstrap/less/mixins/pagination.less +24 -24
  159. package/src/bootstrap/less/mixins/panels.less +24 -24
  160. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  161. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  162. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  163. package/src/bootstrap/less/mixins/resize.less +6 -6
  164. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  165. package/src/bootstrap/less/mixins/size.less +10 -10
  166. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  167. package/src/bootstrap/less/mixins/table-row.less +44 -44
  168. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  169. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  170. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  171. package/src/bootstrap/less/mixins.less +40 -40
  172. package/src/bootstrap/less/modals.less +151 -151
  173. package/src/bootstrap/less/navbar.less +660 -660
  174. package/src/bootstrap/less/normalize.less +424 -424
  175. package/src/bootstrap/less/pager.less +76 -76
  176. package/src/bootstrap/less/pagination.less +89 -89
  177. package/src/bootstrap/less/panels.less +275 -275
  178. package/src/bootstrap/less/popovers.less +131 -131
  179. package/src/bootstrap/less/print.less +101 -101
  180. package/src/bootstrap/less/progress-bars.less +87 -87
  181. package/src/bootstrap/less/responsive-embed.less +35 -35
  182. package/src/bootstrap/less/responsive-utilities.less +194 -194
  183. package/src/bootstrap/less/scaffolding.less +161 -161
  184. package/src/bootstrap/less/theme.less +291 -291
  185. package/src/bootstrap/less/thumbnails.less +36 -36
  186. package/src/bootstrap/less/tooltip.less +102 -102
  187. package/src/bootstrap/less/type.less +303 -303
  188. package/src/bootstrap/less/utilities.less +55 -55
  189. package/src/bootstrap/less/wells.less +29 -29
  190. package/src/components/FileUpload.vue +696 -696
  191. package/src/components/Hello.vue +39 -39
  192. package/src/components/LeftTree.vue +27 -27
  193. package/src/components/NewDefectList/DefectListNew.vue +617 -617
  194. package/src/components/android/AddressList.vue +61 -61
  195. package/src/components/android/AttendanceTally.vue +116 -116
  196. package/src/components/android/Blank.vue +10 -10
  197. package/src/components/android/CheckUnplanPage.vue +56 -56
  198. package/src/components/android/Checker.vue +12 -12
  199. package/src/components/android/CheckerAnnual.vue +81 -81
  200. package/src/components/android/CheckerAvarta.vue +82 -82
  201. package/src/components/android/EquipmentInspection.vue +348 -348
  202. package/src/components/android/FootprintMap.vue +120 -120
  203. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  204. package/src/components/android/MasterMain.vue +77 -77
  205. package/src/components/android/Menu.vue +132 -132
  206. package/src/components/android/NavBottom.vue +157 -157
  207. package/src/components/android/PaperAlarm.vue +85 -85
  208. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  209. package/src/components/android/PlumberAnnual.vue +83 -83
  210. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  211. package/src/components/android/PlumberMonthly.vue +84 -84
  212. package/src/components/android/PostMap.vue +83 -83
  213. package/src/components/android/QueryCheckHistory.vue +122 -122
  214. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  215. package/src/components/android/RepairMain.vue +60 -60
  216. package/src/components/android/Repairman.vue +12 -12
  217. package/src/components/android/SafecheckOrderV.vue +2805 -2805
  218. package/src/components/android/StationMaster.vue +12 -12
  219. package/src/components/android/examples/UserExamples.vue +136 -136
  220. package/src/components/defects/DefectModal.vue +101 -101
  221. package/src/components/defects/DevicesAndItem.vue +39 -39
  222. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  223. package/src/components/notice/NoticeForm.vue +100 -100
  224. package/src/components/notice/NoticeIssue.vue +20 -20
  225. package/src/components/paper/PicViewer.vue +18 -18
  226. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  227. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  228. package/src/components/phonestate/PostMap.vue +82 -82
  229. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  230. package/src/components/userfile/MeterFile.vue +145 -145
  231. package/src/components/userfile/MeterModify.vue +46 -46
  232. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  233. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  234. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +607 -601
  235. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  236. package/src/filiale/bayan/pc/NewCheckpaper.vue +1992 -1992
  237. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  238. package/src/filiale/bayan/pc/SelectCheckPlan.vue +391 -391
  239. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  240. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  241. package/src/filiale/shanxian/android/AddPlanItem.vue +447 -447
  242. package/src/filiale/shanxian/android/SafecheckOrderV.vue +2979 -2979
  243. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  244. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -1035
  245. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1207 -1207
  246. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3035 -3035
  247. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1053 -1053
  248. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  249. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  250. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
  251. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  252. package/src/filiale/weinan/pc/checkUserList.vue +712 -712
  253. package/src/filiale/xilan/android/AddPlanItem.vue +461 -457
  254. package/src/filiale/xilan/android/CurrentCreate.vue +1067 -1063
  255. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  256. package/src/main.js +33 -33
  257. package/src/plugins/LoadData.js +10 -10
  258. package/src/plugins/LoadParams.js +24 -24
  259. package/src/stores/wxconfig.js +10 -10
  260. package/src/utils/getNowDate.js +33 -33
  261. package/test/e2e/custom-assertions/elementCount.js +26 -26
  262. package/test/e2e/nightwatch.conf.js +40 -40
  263. package/test/e2e/runner.js +30 -30
  264. package/test/e2e/specs/test.js +13 -13
  265. package/test/unit/.eslintrc +5 -5
  266. package/test/unit/TestUtil.js +62 -62
  267. package/test/unit/context.html +20 -20
  268. package/test/unit/index.js +13 -13
@@ -1,601 +1,607 @@
1
- <template>
2
- <div class="flex">
3
- <criteria-paged :model="model" v-ref:paged :pager="false">
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="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
8
- <label class="font_normal_body">组织机构</label>
9
- <res-select restype='organization'
10
- class="select select_list"
11
- style="width: 60%"
12
- @res-select="$parent.$parent.getorg"
13
- :initresid='$parent.$parent.curorgid'>
14
- </res-select>
15
- </div>-->
16
- <!-- <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">-->
17
- <!-- <role-selector-safe-->
18
- <!-- role-name="安检员"-->
19
- <!-- role-lable="安&ensp;检&ensp;员"-->
20
- <!-- @re-res="$parent.$parent.getorg"-->
21
- <!-- :value.sync="model.f_checker_id"-->
22
- <!-- v-model="model.f_checker_id"-->
23
- <!-- condition="f_checker_name like '%{}%'">-->
24
- <!-- </role-selector-safe>-->
25
- <!-- </div>-->
26
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
27
- <label class="font_normal_body">小区名称</label>
28
- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
29
- condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
30
- </div>
31
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
32
- <label class="font_normal_body">计划名称</label>
33
- <v-select class="select_list select" style="width: 60%"
34
- placeholder='计划名称'
35
- :search="true"
36
- v-model="model.f_plan_name"
37
- :value.sync="model.f_plan_name"
38
- :options='$parent.$parent.planName'
39
- condition="f_plan_id = '{}'"
40
- :value-single="true"
41
- close-on-select clear-button></v-select>
42
-
43
- </div>
44
- <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">
45
- <div class="span" style="float:right;">
46
- <div style="float: right;margin-left:10px" class="button_spacing"
47
- :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
48
- @click="$parent.$parent.hiddenr()"></div>
49
- <div class="button_spacing" style="float: right;margin-left:10px"
50
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
51
- @click="$parent.$parent.hidden()">
52
- </div>
53
- <button id="btnaaaa" style="float: right" class="button_search"
54
- @click="$parent.$parent.exportexcel()"
55
- v-el:cx>导出</button>
56
- <button id="btnaaa" style="float: right" class="button_search"
57
- @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
58
- v-el:cx>查询</button>
59
- </div>
60
- </div>
61
- <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">
62
- <label class="font_normal_body">起始时间</label>
63
- <datepicker
64
- :value.sync="$parent.$parent.f_check_start"
65
- placeholder='起始时间' style="width:60%"
66
- :disabled-days-of-week="[]"
67
- :format="'yyyy-MM'"
68
- :select-month="true"
69
- :show-rest-button="reset">
70
- </datepicker>
71
- </div>
72
- <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">
73
- <label class="font_normal_body">结束时间</label>
74
- <datepicker
75
- :value.sync="$parent.$parent.f_check_end"
76
- placeholder='结束时间' style="width:60%"
77
- :disabled-days-of-week="[]"
78
- :format="'yyyy-MM'"
79
- :select-month="true"
80
- :show-rest-button="reset">
81
- </datepicker>
82
- </div>
83
- <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">
84
- <label class="font_normal_body">安检时间</label>
85
- <datepicker
86
- :value.sync="$parent.$parent.f_safe_start"
87
- placeholder='结束时间' style="width: 60%"
88
- :disabled-days-of-week="[]"
89
- :format="'yyyy-MM-dd 00:00:00'"
90
- :show-rest-button="reset"
91
- v-model="$parent.$parent.f_safe_start"
92
- >
93
- </datepicker>
94
- </div>
95
- <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">
96
- <label class="font_normal_body">安检时间</label>
97
- <datepicker
98
- :value.sync="$parent.$parent.f_safe_end"
99
- placeholder='结束时间' style="width: 60%"
100
- :disabled-days-of-week="[]"
101
- :format="'yyyy-MM-dd 23:59:59'"
102
- :show-rest-button="reset"
103
- v-model="$parent.$parent.f_safe_end"
104
- >
105
- </datepicker>
106
- </div>
107
- <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">
108
- <label class="font_normal_body" >区&emsp;&emsp;域</label>
109
- <v-select :value.sync="model.f_quyu" :value-single="true" v-model="model.f_quyu"
110
- :options='$parent.$parent.quyus' placeholder='区域' class="select_list select" style="width: 60%"
111
- @change="$parent.$parent.quyuChange"
112
- close-on-select>
113
- </v-select>
114
- </div>
115
- <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">
116
- <label class="font_normal_body" >营&ensp;业&ensp;厅</label>
117
- <v-select :value.sync="model.f_bumen" :value-single="true" v-model="model.f_bumen"
118
- :options='$parent.$parent.bumens' placeholder='营业厅'
119
- @change="$parent.$parent.bumenChange" class="select_list select" style="width: 60%"
120
- close-on-select>
121
- </v-select>
122
- </div>
123
- <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">
124
- <label class="font_normal_body">小&emsp;&emsp;组</label>
125
- <v-select :value.sync="model.f_team" :value-single="true" v-model="model.f_team"
126
- :options='$parent.$parent.teams' placeholder='小组'
127
- @change="$parent.$parent.teamChange" class="select_list select" style="width: 60%"
128
- close-on-select>
129
- </v-select>
130
- </div>
131
- <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">
132
- <label class="font_normal_body" >安&ensp;检&ensp;员</label>
133
- <v-select :value.sync="model.f_checker_id" v-model="model.f_checker_id"
134
- :multiple="true" class="select_list select" style="width: 60%"
135
- :options='$parent.$parent.checkers' placeholder='安检员' condition="f_checker_name in {}"
136
- close-on-select>
137
- </v-select>
138
- </div>
139
- <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">
140
- <label class="font_normal_body">用户类型</label>
141
- <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
142
- :value-single="true" style="width: 60%"
143
- class="select_list select"
144
- :options='$parent.$parent.checktype' placeholder='客户类型'
145
- close-on-select
146
- condition="f_check_type = '{}'"></v-select>
147
- </div>
148
- </div>
149
- <div class="row">
150
- <div class="col-sm-12">
151
- <label class="control-label" style="color: #c7254e">汇 总 项</label>
152
- <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
153
- <label for="f_plan_month">计划月份</label>
154
- <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
155
- <label for="f_no_checkplan">计划类型</label>
156
- <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
157
- <label for="f_residential_area">小区名称</label>
158
- <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
159
- <label for="f_plan_name">计划名称</label>
160
- <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
161
- <label for="f_checker_name">安检员</label>
162
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
163
- <label for="f_checker_name">档案数量</label>
164
- </div>
165
- </div>
166
- </div>
167
-
168
- </criteria>
169
- <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
170
- <template partial='head'>
171
- <tr>
172
- <th>
173
- <nobr>序号</nobr>
174
- </th>
175
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
176
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
177
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
178
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
179
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
180
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
181
- <th>
182
- <nobr>计划总数</nobr>
183
- </th>
184
- <th>
185
- <nobr>未检</nobr>
186
- </th>
187
- <th>
188
- <nobr>已检</nobr>
189
- </th>
190
- <th>
191
- <nobr>入户</nobr>
192
- </th>
193
- <th>
194
- <nobr>到访不遇</nobr>
195
- </th>
196
- <th>
197
- <nobr>拒检</nobr>
198
- </th>
199
- <th>
200
- <nobr>安检率</nobr>
201
- </th>
202
- <!--<th>-->
203
- <!--<nobr>查看</nobr>-->
204
- <!--</th>-->
205
- </tr>
206
- </template>
207
- <template partial='body'>
208
- <tr>
209
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
210
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
211
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
212
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
213
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
214
- <!-- <td style="text-align:center" 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>-->
215
- <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>
216
- <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>
217
- <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>
218
- <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>
219
- <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>
220
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
221
- <td style="text-align:center">{{row.f_plan_total}}</td>
222
- <td style="text-align:center">{{row.f_weijian}}</td>
223
- <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
224
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
225
- <td style="text-align:center">{{row.f_buyu}}</td>
226
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
227
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
228
- <!--<td style="text-align: center;">-->
229
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
230
- <!--</td>-->
231
- </tr>
232
- </template>
233
- <template partial='foot'></template>
234
- </data-grid>
235
- </criteria-paged>
236
- </div>
237
- </template>
238
-
239
- <script>
240
- /**
241
- *阶梯气价查询列表
242
- */
243
- import {PagedList} from 'vue-client'
244
- import { HttpResetClass } from 'vue-client'
245
- import XLSX from 'xlsx'
246
- export default {
247
- data () {
248
- return {
249
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
250
- allCheckers: [{label: '请选择', value: ''}],
251
- quyus: [{label: '请选择', value: ''}, ...this.$appdata.getParam('区域')],
252
- bumens: [{label: '请选择', value: ''}],
253
- teams: [{label: '请选择', value: ''}],
254
- checkers:[],
255
- model: new PagedList('rs/sql/getCheckPlanAreaList', 99999),
256
- // 公司下拉
257
- curorgid: [this.$login.f.orgid],
258
- row: {},
259
- f_orgid: '',
260
- nameForSql: [],
261
- groupNameForSql: '',
262
- listflag:false,
263
- nameflag:false,
264
- criteriaShow: false,
265
- f_check_start:new Date().getFullYear() + '-01',
266
- f_check_end:new Date().getFullYear() + '-12',
267
- f_safe_start:'',
268
- f_safe_end:'',
269
- planName:[{label: '全部', value: ''}],
270
- exportExcelField: {
271
- 'f_weijian':'未检',
272
- 'f_yijian':'已检',
273
- 'f_ruhu':'入户',
274
- 'f_buyu':'到访不遇',
275
- 'f_jujian':'拒检',
276
- 'f_check_bv':'安检率'
277
- }
278
- }
279
- },
280
- props: {
281
- row: {},
282
- config: {},
283
- ispartial: false,
284
- f_filialeid: {
285
- type: String
286
- }
287
- },
288
- ready () {
289
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
290
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
291
- this.pl()
292
- this.getAllChecker()
293
- // this.search()
294
-
295
- },
296
- methods: {
297
- getAllChecker() {
298
- new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
299
- data: {
300
- items: 'name',
301
- tablename: 't_user',
302
- condition: `state = '在职' and rolestr like '%安检员%'`,
303
- orderitem: 'id'
304
- }
305
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
306
- res.data.forEach(ress => {
307
- this.allCheckers.push({
308
- label: ress.name,
309
- value: ress.name
310
- })
311
- })
312
- this.checkers = this.allCheckers
313
- })
314
- },
315
- bumenChange(val) {
316
- if (val) {
317
- this.teams = this.$appdata.getParam(`工单-` + val) ? [{
318
- label: '请选择',
319
- value: ''
320
- }, ...this.$appdata.getParam(`工单-` + val)] : [{label: '请选择', value: ''}]
321
- }else {
322
- this.checkers = this.allCheckers
323
- }
324
- },
325
- teamChange(val) {
326
- if (val) {
327
- this.checkers = this.$appdata.getParam(val) ? [...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
328
- }else {
329
- this.checkers = this.allCheckers
330
- }
331
- },
332
- quyuChange(val) {
333
- if (val) {
334
- this.bumens = this.$appdata.getParam(val) ? [{
335
- label: '请选择',
336
- value: ''
337
- }, ...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
338
- }else {
339
- this.checkers = this.allCheckers
340
- }
341
- },
342
- exportexcel(){
343
- //tag
344
- // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
345
- const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
346
- console.log(aa)
347
- let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
348
- try {
349
- XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
350
- } catch(e) {
351
- //tag;
352
- }
353
- },
354
- // 获取导出列
355
- getexportExcelField(){
356
- this.exportExcelField = {
357
- 'f_weijian':'未检',
358
- 'f_yijian':'已检',
359
- 'f_ruhu':'入户',
360
- 'f_buyu':'到访不遇',
361
- 'f_jujian':'拒检',
362
- 'f_check_bv':'安检率',
363
- 'f_plan_total':'计划总数'
364
- }
365
- let forName = this.groupNameForSql.split(",")
366
- for (let i = 0; i < forName.length; i++) {
367
- let ff = forName[i]
368
- if (ff==='f_plan_month') {
369
- this.exportExcelField.f_plan_month='计划月份'
370
- }
371
- if (ff==='f_no_checkplan') {
372
- this.exportExcelField.f_no_checkplan='计划类型'
373
- }
374
- if (ff==='f_plan_name') {
375
- this.exportExcelField.f_plan_name='计划名称'
376
- }
377
- if (ff==='f_checker_name') {
378
- this.exportExcelField.f_checker_name='安检员'
379
- }if (ff==='f_residential_area') {
380
- this.exportExcelField.f_residential_area='小区名称'
381
- }if (ff==='f_user_number') {
382
- this.exportExcelField.f_user_number='档案数量'
383
- }
384
- }
385
- },
386
- pl() {
387
- let getGasman = new HttpResetClass()
388
- getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
389
- data: {
390
- items: "id,f_plan_name",
391
- tablename: "t_check_plan",
392
- condition: `f_filialeid = '${this.curorgid}'`,
393
- orderitem: "id"
394
- }
395
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
396
- //tag
397
- //tag
398
- //tag
399
- for (let i = 0; i < plne.data.length; i++) {
400
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
401
- }
402
- //tag
403
- })
404
- },
405
- hiddenr() {
406
- this.$parent.isdetail = !this.$parent.isdetail
407
- },
408
- hidden() {
409
- this.criteriaShow = !this.criteriaShow
410
- },
411
- search () {
412
- this.$refs.paged.$refs.cri.search()
413
- this.$dispatch('search')
414
- },
415
- getorg (val) {
416
- this.f_orgid = this.$login.convertToIn(val.resids)
417
- this.f_filialeid = val[0]
418
-
419
- },
420
- selfSearch (args) {
421
- if (!this.f_orgid) {
422
- this.getorg([this.$login.f.orgid])
423
- args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
424
- }
425
- if (this.f_orgid) {
426
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
427
- }
428
- if(this.f_check_start && this.f_check_end){
429
- if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
430
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
431
- }else {
432
- args.condition += ` and (
433
- (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
434
- or
435
- ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
436
- or
437
- (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
438
- }
439
- } else {
440
- if(this.f_check_start){
441
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
442
- }
443
- if(this.f_check_end){
444
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
445
- }
446
- }
447
- if(this.f_safe_start && this.f_safe_end){
448
- args.condition += `and ch.f_offsite_time >= '${this.f_safe_start}' and ch.f_offsite_time <= '${this.f_safe_end}' `
449
- } else {
450
- if(this.f_safe_start){
451
- args.condition += ` and ch.f_offsite_time >='${this.f_safe_start}'`
452
- }
453
- if(this.f_safe_end){
454
- args.condition += ` and ch.f_offsite_time <='${this.f_safe_end}'`
455
- }
456
- }
457
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
458
- if (this.groupNameForSql=='undefined'){
459
- //tag
460
- this.$showMessage("请至少选择一项进行汇总")
461
- return
462
- }
463
- this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
464
- this.model.search(args.condition, args.model)
465
- },
466
-
467
- // 拼接groupName1
468
- getGroupName1 () {
469
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
470
- var newtemp=[]
471
-
472
- for (var i=0;i<temp.length;i++){
473
- for (var j=0;j<this.nameForSql.length;j++){
474
- //tag
475
- if(temp[i]==this.nameForSql[j]){
476
- newtemp.push(this.nameForSql[j])
477
- }
478
- }
479
- }
480
- let str = ''
481
-
482
- for (var i=0;i < newtemp.length - 1; i++) {
483
- str += newtemp[i] + ','
484
- }
485
- str += newtemp[i]
486
- this.groupNameForSql = str.trim()
487
- }
488
- },
489
- watch: {
490
- // 'nameForSql' () {
491
- //
492
- // this.getGroupName1()
493
- // },
494
- 'nameForSql' () {
495
- var e = document.createEvent("MouseEvents");
496
- e.initEvent("click", true, true);
497
- document.getElementById("btnaaa").dispatchEvent(e);
498
- },
499
- 'model.rows'(){
500
- //tag
501
- if(this.listflag){
502
- return;
503
- }
504
- this.listflag=true
505
- //tag
506
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
507
- var newtemp=[]
508
- for (var i=0;i<temp.length;i++){
509
- for (var j=0;j<this.nameForSql.length;j++){
510
- //tag
511
- if(temp[i]==this.nameForSql[j]){
512
- newtemp.push(this.nameForSql[j])
513
- }
514
- }
515
- }
516
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
517
- return
518
- }
519
- var temp=JSON.parse(JSON.stringify(this.model.rows))
520
-
521
- //遍历查询结果 为指定列增加样式
522
- for (var i=0;i<newtemp.length-1;i++){
523
- if(newtemp[i]=='f_user_number'){
524
- return;
525
- }
526
- //tag
527
- var ss=''
528
- for (var j=0;j<temp.length;j++){
529
- if(j>0&&i>0){
530
- var flag=false
531
- for(var t=i-1;t>-1;t--){
532
- //tag
533
- //tag
534
- //tag
535
- //tag
536
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
537
- flag=true
538
- break
539
- }
540
- }
541
- //tag
542
- if(flag){
543
- ss=temp[j][newtemp[i]]
544
- continue
545
- }
546
- }
547
- if(temp[j][newtemp[i]]==ss){
548
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
549
- }else {
550
- ss=temp[j][newtemp[i]]
551
- }
552
- }
553
- }
554
- //tag
555
- this.model.rows=JSON.parse(JSON.stringify(temp))
556
- }
557
- },
558
- computed:{
559
- exportParameter(){
560
- // excel 导出条件拼接
561
- return {
562
- condition: this.$refs.paged.model.condition,
563
- groupName: this.groupNameForSql
564
- }
565
- }
566
- }
567
- }
568
- </script>
569
-
570
- <style scoped>
571
-
572
- .td-0{
573
- border: 1px solid #000000;
574
- }
575
-
576
- .td-1{
577
- border: none;
578
- border-top: 1px solid #000000;
579
- border-left: 1px solid #000000;
580
- border-right: 1px solid #000000;
581
- }
582
-
583
- .td-2{
584
- border: none;
585
- border-left: 1px solid #000000;
586
- border-right: 1px solid #000000;
587
- }
588
- .td-4{
589
- border: none;
590
- border-top: 1px solid #000000;
591
- border-left: 1px solid #000000;
592
- border-right: 1px solid #000000;
593
- border-bottom: 1px solid #000000;
594
- }
595
- .td-3{
596
- border: none;
597
- border-left: 1px solid #000000;
598
- border-right: 1px solid #000000;
599
- border-bottom: 1px solid #000000;
600
- }
601
- </style>
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged :pager="false">
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="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select restype='organization'
10
+ class="select select_list"
11
+ style="width: 60%"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid='$parent.$parent.curorgid'>
14
+ </res-select>
15
+ </div>-->
16
+ <!-- <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">-->
17
+ <!-- <role-selector-safe-->
18
+ <!-- role-name="安检员"-->
19
+ <!-- role-lable="安&ensp;检&ensp;员"-->
20
+ <!-- @re-res="$parent.$parent.getorg"-->
21
+ <!-- :value.sync="model.f_checker_id"-->
22
+ <!-- v-model="model.f_checker_id"-->
23
+ <!-- condition="f_checker_name like '%{}%'">-->
24
+ <!-- </role-selector-safe>-->
25
+ <!-- </div>-->
26
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
27
+ <label class="font_normal_body">小区名称</label>
28
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
29
+ condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
30
+ </div>
31
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
32
+ <label class="font_normal_body">计划名称</label>
33
+ <v-select class="select_list select" style="width: 60%"
34
+ placeholder='计划名称'
35
+ :search="true"
36
+ v-model="model.f_plan_name"
37
+ :value.sync="model.f_plan_name"
38
+ :options='$parent.$parent.planName'
39
+ condition="f_plan_id = '{}'"
40
+ :value-single="true"
41
+ close-on-select clear-button></v-select>
42
+
43
+ </div>
44
+ <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">
45
+ <div class="span" style="float:right;">
46
+ <div style="float: right;margin-left:10px" class="button_spacing"
47
+ :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
48
+ @click="$parent.$parent.hiddenr()"></div>
49
+ <div class="button_spacing" style="float: right;margin-left:10px"
50
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
51
+ @click="$parent.$parent.hidden()">
52
+ </div>
53
+ <button id="btnaaaa" style="float: right" class="button_search"
54
+ @click="$parent.$parent.exportexcel()"
55
+ v-el:cx>导出</button>
56
+ <button id="btnaaa" style="float: right" class="button_search"
57
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
58
+ v-el:cx>查询</button>
59
+ <button id="cle" style="float: right" class="button_search"
60
+ @click="$parent.$parent.cleamsg()"
61
+ v-el:cx>清空</button>
62
+ </div>
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_start"
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_check_end"
79
+ placeholder='结束时间' style="width:60%"
80
+ :disabled-days-of-week="[]"
81
+ :format="'yyyy-MM'"
82
+ :select-month="true"
83
+ :show-rest-button="reset">
84
+ </datepicker>
85
+ </div>
86
+ <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">
87
+ <label class="font_normal_body">安检时间</label>
88
+ <datepicker
89
+ :value.sync="$parent.$parent.f_safe_start"
90
+ placeholder='结束时间' style="width: 60%"
91
+ :disabled-days-of-week="[]"
92
+ :format="'yyyy-MM-dd 00:00:00'"
93
+ :show-rest-button="reset"
94
+ v-model="$parent.$parent.f_safe_start"
95
+ >
96
+ </datepicker>
97
+ </div>
98
+ <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">
99
+ <label class="font_normal_body">安检时间</label>
100
+ <datepicker
101
+ :value.sync="$parent.$parent.f_safe_end"
102
+ placeholder='结束时间' style="width: 60%"
103
+ :disabled-days-of-week="[]"
104
+ :format="'yyyy-MM-dd 23:59:59'"
105
+ :show-rest-button="reset"
106
+ v-model="$parent.$parent.f_safe_end"
107
+ >
108
+ </datepicker>
109
+ </div>
110
+ <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">
111
+ <label class="font_normal_body" >区&emsp;&emsp;域</label>
112
+ <v-select :value.sync="model.f_quyu" :value-single="true" v-model="model.f_quyu"
113
+ :options='$parent.$parent.quyus' placeholder='区域' class="select_list select" style="width: 60%"
114
+ @change="$parent.$parent.quyuChange"
115
+ close-on-select>
116
+ </v-select>
117
+ </div>
118
+ <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">
119
+ <label class="font_normal_body" >营&ensp;业&ensp;厅</label>
120
+ <v-select :value.sync="model.f_bumen" :value-single="true" v-model="model.f_bumen"
121
+ :options='$parent.$parent.bumens' placeholder='营业厅'
122
+ @change="$parent.$parent.bumenChange" class="select_list select" style="width: 60%"
123
+ close-on-select>
124
+ </v-select>
125
+ </div>
126
+ <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">
127
+ <label class="font_normal_body">小&emsp;&emsp;组</label>
128
+ <v-select :value.sync="model.f_team" :value-single="true" v-model="model.f_team"
129
+ :options='$parent.$parent.teams' placeholder='小组'
130
+ @change="$parent.$parent.teamChange" class="select_list select" style="width: 60%"
131
+ close-on-select>
132
+ </v-select>
133
+ </div>
134
+ <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">
135
+ <label class="font_normal_body" >安&ensp;检&ensp;员</label>
136
+ <v-select :value.sync="model.f_checker_id" v-model="model.f_checker_id"
137
+ :multiple="true" class="select_list select" style="width: 60%"
138
+ :options='$parent.$parent.checkers' placeholder='安检员' condition="f_checker_name in {}"
139
+ close-on-select>
140
+ </v-select>
141
+ </div>
142
+ <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">
143
+ <label class="font_normal_body">用户类型</label>
144
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
145
+ :value-single="true" style="width: 60%"
146
+ class="select_list select"
147
+ :options='$parent.$parent.checktype' placeholder='客户类型'
148
+ close-on-select
149
+ condition="f_check_type = '{}'"></v-select>
150
+ </div>
151
+ </div>
152
+ <div class="row">
153
+ <div class="col-sm-12">
154
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
155
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
156
+ <label for="f_plan_month">计划月份</label>
157
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
158
+ <label for="f_no_checkplan">计划类型</label>
159
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
160
+ <label for="f_residential_area">小区名称</label>
161
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
162
+ <label for="f_plan_name">计划名称</label>
163
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
164
+ <label for="f_checker_name">安检员</label>
165
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
166
+ <label for="f_checker_name">档案数量</label>
167
+ </div>
168
+ </div>
169
+ </div>
170
+
171
+ </criteria>
172
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
173
+ <template partial='head'>
174
+ <tr>
175
+ <th>
176
+ <nobr>序号</nobr>
177
+ </th>
178
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
179
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
180
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
181
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
182
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
183
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
184
+ <th>
185
+ <nobr>计划总数</nobr>
186
+ </th>
187
+ <th>
188
+ <nobr>未检</nobr>
189
+ </th>
190
+ <th>
191
+ <nobr>已检</nobr>
192
+ </th>
193
+ <th>
194
+ <nobr>入户</nobr>
195
+ </th>
196
+ <th>
197
+ <nobr>到访不遇</nobr>
198
+ </th>
199
+ <th>
200
+ <nobr>拒检</nobr>
201
+ </th>
202
+ <th>
203
+ <nobr>安检率</nobr>
204
+ </th>
205
+ <!--<th>-->
206
+ <!--<nobr>查看</nobr>-->
207
+ <!--</th>-->
208
+ </tr>
209
+ </template>
210
+ <template partial='body'>
211
+ <tr>
212
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
213
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
214
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
215
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
216
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
217
+ <!-- <td style="text-align:center" 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>-->
218
+ <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>
219
+ <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>
220
+ <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>
221
+ <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>
222
+ <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>
223
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
224
+ <td style="text-align:center">{{row.f_plan_total}}</td>
225
+ <td style="text-align:center">{{row.f_weijian}}</td>
226
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
227
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
228
+ <td style="text-align:center">{{row.f_buyu}}</td>
229
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
230
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
231
+ <!--<td style="text-align: center;">-->
232
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
233
+ <!--</td>-->
234
+ </tr>
235
+ </template>
236
+ <template partial='foot'></template>
237
+ </data-grid>
238
+ </criteria-paged>
239
+ </div>
240
+ </template>
241
+
242
+ <script>
243
+ /**
244
+ *阶梯气价查询列表
245
+ */
246
+ import {PagedList} from 'vue-client'
247
+ import { HttpResetClass } from 'vue-client'
248
+ import XLSX from 'xlsx'
249
+ export default {
250
+ data () {
251
+ return {
252
+ checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
253
+ allCheckers: [{label: '请选择', value: ''}],
254
+ quyus: [{label: '请选择', value: ''}, ...this.$appdata.getParam('区域')],
255
+ bumens: [{label: '请选择', value: ''}],
256
+ teams: [{label: '请选择', value: ''}],
257
+ checkers:[],
258
+ model: new PagedList('rs/sql/getCheckPlanAreaList', 99999),
259
+ // 公司下拉
260
+ curorgid: [this.$login.f.orgid],
261
+ row: {},
262
+ f_orgid: '',
263
+ nameForSql: [],
264
+ groupNameForSql: '',
265
+ listflag:false,
266
+ nameflag:false,
267
+ criteriaShow: false,
268
+ f_check_start:new Date().getFullYear() + '-01',
269
+ f_check_end:new Date().getFullYear() + '-12',
270
+ f_safe_start:'',
271
+ f_safe_end:'',
272
+ planName:[{label: '全部', value: ''}],
273
+ exportExcelField: {
274
+ 'f_weijian':'未检',
275
+ 'f_yijian':'已检',
276
+ 'f_ruhu':'入户',
277
+ 'f_buyu':'到访不遇',
278
+ 'f_jujian':'拒检',
279
+ 'f_check_bv':'安检率'
280
+ }
281
+ }
282
+ },
283
+ props: {
284
+ row: {},
285
+ config: {},
286
+ ispartial: false,
287
+ f_filialeid: {
288
+ type: String
289
+ }
290
+ },
291
+ ready () {
292
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
293
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
294
+ this.pl()
295
+ this.getAllChecker()
296
+ // this.search()
297
+
298
+ },
299
+ methods: {
300
+ cleamsg(){
301
+ this.$refs.paged.$refs.cri.model= {}
302
+ },
303
+ getAllChecker() {
304
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
305
+ data: {
306
+ items: 'name',
307
+ tablename: 't_user',
308
+ condition: `state = '在职' and rolestr like '%安检员%'`,
309
+ orderitem: 'id'
310
+ }
311
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
312
+ res.data.forEach(ress => {
313
+ this.allCheckers.push({
314
+ label: ress.name,
315
+ value: ress.name
316
+ })
317
+ })
318
+ this.checkers = this.allCheckers
319
+ })
320
+ },
321
+ bumenChange(val) {
322
+ if (val) {
323
+ this.teams = this.$appdata.getParam(`工单-` + val) ? [{
324
+ label: '请选择',
325
+ value: ''
326
+ }, ...this.$appdata.getParam(`工单-` + val)] : [{label: '请选择', value: ''}]
327
+ }else {
328
+ this.checkers = this.allCheckers
329
+ }
330
+ },
331
+ teamChange(val) {
332
+ if (val) {
333
+ this.checkers = this.$appdata.getParam(val) ? [...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
334
+ }else {
335
+ this.checkers = this.allCheckers
336
+ }
337
+ },
338
+ quyuChange(val) {
339
+ if (val) {
340
+ this.bumens = this.$appdata.getParam(val) ? [{
341
+ label: '请选择',
342
+ value: ''
343
+ }, ...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
344
+ }else {
345
+ this.checkers = this.allCheckers
346
+ }
347
+ },
348
+ exportexcel(){
349
+ //tag
350
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
351
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
352
+ console.log(aa)
353
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
354
+ try {
355
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
356
+ } catch(e) {
357
+ //tag;
358
+ }
359
+ },
360
+ // 获取导出列
361
+ getexportExcelField(){
362
+ this.exportExcelField = {
363
+ 'f_weijian':'未检',
364
+ 'f_yijian':'已检',
365
+ 'f_ruhu':'入户',
366
+ 'f_buyu':'到访不遇',
367
+ 'f_jujian':'拒检',
368
+ 'f_check_bv':'安检率',
369
+ 'f_plan_total':'计划总数'
370
+ }
371
+ let forName = this.groupNameForSql.split(",")
372
+ for (let i = 0; i < forName.length; i++) {
373
+ let ff = forName[i]
374
+ if (ff==='f_plan_month') {
375
+ this.exportExcelField.f_plan_month='计划月份'
376
+ }
377
+ if (ff==='f_no_checkplan') {
378
+ this.exportExcelField.f_no_checkplan='计划类型'
379
+ }
380
+ if (ff==='f_plan_name') {
381
+ this.exportExcelField.f_plan_name='计划名称'
382
+ }
383
+ if (ff==='f_checker_name') {
384
+ this.exportExcelField.f_checker_name='安检员'
385
+ }if (ff==='f_residential_area') {
386
+ this.exportExcelField.f_residential_area='小区名称'
387
+ }if (ff==='f_user_number') {
388
+ this.exportExcelField.f_user_number='档案数量'
389
+ }
390
+ }
391
+ },
392
+ pl() {
393
+ let getGasman = new HttpResetClass()
394
+ getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
395
+ data: {
396
+ items: "id,f_plan_name",
397
+ tablename: "t_check_plan",
398
+ condition: `f_filialeid = '${this.curorgid}'`,
399
+ orderitem: "id"
400
+ }
401
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
402
+ //tag
403
+ //tag
404
+ //tag
405
+ for (let i = 0; i < plne.data.length; i++) {
406
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
407
+ }
408
+ //tag
409
+ })
410
+ },
411
+ hiddenr() {
412
+ this.$parent.isdetail = !this.$parent.isdetail
413
+ },
414
+ hidden() {
415
+ this.criteriaShow = !this.criteriaShow
416
+ },
417
+ search () {
418
+ this.$refs.paged.$refs.cri.search()
419
+ this.$dispatch('search')
420
+ },
421
+ getorg (val) {
422
+ this.f_orgid = this.$login.convertToIn(val.resids)
423
+ this.f_filialeid = val[0]
424
+
425
+ },
426
+ selfSearch (args) {
427
+ if (!this.f_orgid) {
428
+ this.getorg([this.$login.f.orgid])
429
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
430
+ }
431
+ if (this.f_orgid) {
432
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
433
+ }
434
+ if(this.f_check_start && this.f_check_end){
435
+ if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
436
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
437
+ }else {
438
+ args.condition += ` and (
439
+ (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
440
+ or
441
+ ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
442
+ or
443
+ (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
444
+ }
445
+ } else {
446
+ if(this.f_check_start){
447
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
448
+ }
449
+ if(this.f_check_end){
450
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
451
+ }
452
+ }
453
+ if(this.f_safe_start && this.f_safe_end){
454
+ args.condition += `and ch.f_offsite_time >= '${this.f_safe_start}' and ch.f_offsite_time <= '${this.f_safe_end}' `
455
+ } else {
456
+ if(this.f_safe_start){
457
+ args.condition += ` and ch.f_offsite_time >='${this.f_safe_start}'`
458
+ }
459
+ if(this.f_safe_end){
460
+ args.condition += ` and ch.f_offsite_time <='${this.f_safe_end}'`
461
+ }
462
+ }
463
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
464
+ if (this.groupNameForSql=='undefined'){
465
+ //tag
466
+ this.$showMessage("请至少选择一项进行汇总")
467
+ return
468
+ }
469
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
470
+ this.model.search(args.condition, args.model)
471
+ },
472
+
473
+ // 拼接groupName1
474
+ getGroupName1 () {
475
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
476
+ var newtemp=[]
477
+
478
+ for (var i=0;i<temp.length;i++){
479
+ for (var j=0;j<this.nameForSql.length;j++){
480
+ //tag
481
+ if(temp[i]==this.nameForSql[j]){
482
+ newtemp.push(this.nameForSql[j])
483
+ }
484
+ }
485
+ }
486
+ let str = ''
487
+
488
+ for (var i=0;i < newtemp.length - 1; i++) {
489
+ str += newtemp[i] + ','
490
+ }
491
+ str += newtemp[i]
492
+ this.groupNameForSql = str.trim()
493
+ }
494
+ },
495
+ watch: {
496
+ // 'nameForSql' () {
497
+ //
498
+ // this.getGroupName1()
499
+ // },
500
+ 'nameForSql' () {
501
+ var e = document.createEvent("MouseEvents");
502
+ e.initEvent("click", true, true);
503
+ document.getElementById("btnaaa").dispatchEvent(e);
504
+ },
505
+ 'model.rows'(){
506
+ //tag
507
+ if(this.listflag){
508
+ return;
509
+ }
510
+ this.listflag=true
511
+ //tag
512
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
513
+ var newtemp=[]
514
+ for (var i=0;i<temp.length;i++){
515
+ for (var j=0;j<this.nameForSql.length;j++){
516
+ //tag
517
+ if(temp[i]==this.nameForSql[j]){
518
+ newtemp.push(this.nameForSql[j])
519
+ }
520
+ }
521
+ }
522
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
523
+ return
524
+ }
525
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
526
+
527
+ //遍历查询结果 为指定列增加样式
528
+ for (var i=0;i<newtemp.length-1;i++){
529
+ if(newtemp[i]=='f_user_number'){
530
+ return;
531
+ }
532
+ //tag
533
+ var ss=''
534
+ for (var j=0;j<temp.length;j++){
535
+ if(j>0&&i>0){
536
+ var flag=false
537
+ for(var t=i-1;t>-1;t--){
538
+ //tag
539
+ //tag
540
+ //tag
541
+ //tag
542
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
543
+ flag=true
544
+ break
545
+ }
546
+ }
547
+ //tag
548
+ if(flag){
549
+ ss=temp[j][newtemp[i]]
550
+ continue
551
+ }
552
+ }
553
+ if(temp[j][newtemp[i]]==ss){
554
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
555
+ }else {
556
+ ss=temp[j][newtemp[i]]
557
+ }
558
+ }
559
+ }
560
+ //tag
561
+ this.model.rows=JSON.parse(JSON.stringify(temp))
562
+ }
563
+ },
564
+ computed:{
565
+ exportParameter(){
566
+ // excel 导出条件拼接
567
+ return {
568
+ condition: this.$refs.paged.model.condition,
569
+ groupName: this.groupNameForSql
570
+ }
571
+ }
572
+ }
573
+ }
574
+ </script>
575
+
576
+ <style scoped>
577
+
578
+ .td-0{
579
+ border: 1px solid #000000;
580
+ }
581
+
582
+ .td-1{
583
+ border: none;
584
+ border-top: 1px solid #000000;
585
+ border-left: 1px solid #000000;
586
+ border-right: 1px solid #000000;
587
+ }
588
+
589
+ .td-2{
590
+ border: none;
591
+ border-left: 1px solid #000000;
592
+ border-right: 1px solid #000000;
593
+ }
594
+ .td-4{
595
+ border: none;
596
+ border-top: 1px solid #000000;
597
+ border-left: 1px solid #000000;
598
+ border-right: 1px solid #000000;
599
+ border-bottom: 1px solid #000000;
600
+ }
601
+ .td-3{
602
+ border: none;
603
+ border-left: 1px solid #000000;
604
+ border-right: 1px solid #000000;
605
+ border-bottom: 1px solid #000000;
606
+ }
607
+ </style>