safecheck-client 3.0.34-43 → 3.0.34-45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) 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/Widget.vue +13 -13
  49. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  50. package/src/android-bootstrap/less/.csscomb.json +304 -304
  51. package/src/android-bootstrap/less/.csslintrc +19 -19
  52. package/src/android-bootstrap/less/alerts.less +73 -73
  53. package/src/android-bootstrap/less/badges.less +66 -66
  54. package/src/android-bootstrap/less/bootstrap.less +56 -56
  55. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  56. package/src/android-bootstrap/less/button-groups.less +247 -247
  57. package/src/android-bootstrap/less/buttons.less +173 -173
  58. package/src/android-bootstrap/less/carousel.less +269 -269
  59. package/src/android-bootstrap/less/close.less +34 -34
  60. package/src/android-bootstrap/less/code.less +69 -69
  61. package/src/android-bootstrap/less/component-animations.less +33 -33
  62. package/src/android-bootstrap/less/grid.less +84 -84
  63. package/src/android-bootstrap/less/input-groups.less +167 -167
  64. package/src/android-bootstrap/less/jumbotron.less +52 -52
  65. package/src/android-bootstrap/less/labels.less +64 -64
  66. package/src/android-bootstrap/less/list-group.less +141 -141
  67. package/src/android-bootstrap/less/media.less +66 -66
  68. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  69. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  70. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  71. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  72. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  73. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  74. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  75. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  76. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  77. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  78. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  79. package/src/android-bootstrap/less/mixins/image.less +33 -33
  80. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  81. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  82. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  83. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  84. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  85. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  86. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  87. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  88. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  89. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  90. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  91. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  92. package/src/android-bootstrap/less/mixins/size.less +10 -10
  93. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  94. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  95. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  96. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  97. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  98. package/src/android-bootstrap/less/mixins.less +40 -40
  99. package/src/android-bootstrap/less/modals.less +151 -151
  100. package/src/android-bootstrap/less/navbar.less +660 -660
  101. package/src/android-bootstrap/less/navs.less +290 -290
  102. package/src/android-bootstrap/less/normalize.less +424 -424
  103. package/src/android-bootstrap/less/pager.less +76 -76
  104. package/src/android-bootstrap/less/pagination.less +89 -89
  105. package/src/android-bootstrap/less/panels.less +274 -274
  106. package/src/android-bootstrap/less/popovers.less +131 -131
  107. package/src/android-bootstrap/less/print.less +101 -101
  108. package/src/android-bootstrap/less/progress-bars.less +87 -87
  109. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  110. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  111. package/src/android-bootstrap/less/scaffolding.less +161 -161
  112. package/src/android-bootstrap/less/tables.less +262 -262
  113. package/src/android-bootstrap/less/theme.less +291 -291
  114. package/src/android-bootstrap/less/thumbnails.less +36 -36
  115. package/src/android-bootstrap/less/tooltip.less +102 -102
  116. package/src/android-bootstrap/less/type.less +303 -303
  117. package/src/android-bootstrap/less/utilities.less +55 -55
  118. package/src/android-bootstrap/less/variables.less +896 -896
  119. package/src/android-bootstrap/less/wells.less +29 -29
  120. package/src/androidTest.js +20 -20
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/forms.less +626 -626
  134. package/src/bootstrap/less/grid.less +84 -84
  135. package/src/bootstrap/less/input-groups.less +167 -167
  136. package/src/bootstrap/less/jumbotron.less +52 -52
  137. package/src/bootstrap/less/labels.less +64 -64
  138. package/src/bootstrap/less/list-group.less +141 -141
  139. package/src/bootstrap/less/media.less +66 -66
  140. package/src/bootstrap/less/mixins/alerts.less +14 -14
  141. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  142. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  143. package/src/bootstrap/less/mixins/buttons.less +69 -69
  144. package/src/bootstrap/less/mixins/center-block.less +7 -7
  145. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  146. package/src/bootstrap/less/mixins/forms.less +90 -90
  147. package/src/bootstrap/less/mixins/gradients.less +59 -59
  148. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  149. package/src/bootstrap/less/mixins/grid.less +122 -122
  150. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  151. package/src/bootstrap/less/mixins/image.less +33 -33
  152. package/src/bootstrap/less/mixins/labels.less +12 -12
  153. package/src/bootstrap/less/mixins/list-group.less +30 -30
  154. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  155. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  156. package/src/bootstrap/less/mixins/opacity.less +8 -8
  157. package/src/bootstrap/less/mixins/pagination.less +24 -24
  158. package/src/bootstrap/less/mixins/panels.less +24 -24
  159. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  160. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  161. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  162. package/src/bootstrap/less/mixins/resize.less +6 -6
  163. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  164. package/src/bootstrap/less/mixins/size.less +10 -10
  165. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  166. package/src/bootstrap/less/mixins/table-row.less +44 -44
  167. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  168. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  169. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  170. package/src/bootstrap/less/mixins.less +40 -40
  171. package/src/bootstrap/less/modals.less +151 -151
  172. package/src/bootstrap/less/navbar.less +660 -660
  173. package/src/bootstrap/less/normalize.less +424 -424
  174. package/src/bootstrap/less/pager.less +76 -76
  175. package/src/bootstrap/less/pagination.less +89 -89
  176. package/src/bootstrap/less/panels.less +275 -275
  177. package/src/bootstrap/less/popovers.less +131 -131
  178. package/src/bootstrap/less/print.less +101 -101
  179. package/src/bootstrap/less/progress-bars.less +87 -87
  180. package/src/bootstrap/less/responsive-embed.less +35 -35
  181. package/src/bootstrap/less/responsive-utilities.less +194 -194
  182. package/src/bootstrap/less/scaffolding.less +161 -161
  183. package/src/bootstrap/less/theme.less +291 -291
  184. package/src/bootstrap/less/thumbnails.less +36 -36
  185. package/src/bootstrap/less/tooltip.less +102 -102
  186. package/src/bootstrap/less/type.less +303 -303
  187. package/src/bootstrap/less/utilities.less +55 -55
  188. package/src/bootstrap/less/wells.less +29 -29
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/android/AddressList.vue +61 -61
  193. package/src/components/android/AttendanceTally.vue +116 -116
  194. package/src/components/android/Blank.vue +10 -10
  195. package/src/components/android/CheckUnplanPage.vue +56 -56
  196. package/src/components/android/Checker.vue +12 -12
  197. package/src/components/android/CheckerAnnual.vue +81 -81
  198. package/src/components/android/CheckerAvarta.vue +82 -82
  199. package/src/components/android/EquipmentInspection.vue +348 -348
  200. package/src/components/android/FootprintMap.vue +120 -120
  201. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  202. package/src/components/android/MasterMain.vue +77 -77
  203. package/src/components/android/Menu.vue +132 -132
  204. package/src/components/android/NavBottom.vue +157 -157
  205. package/src/components/android/PaperAlarm.vue +85 -85
  206. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  207. package/src/components/android/PlumberAnnual.vue +83 -83
  208. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  209. package/src/components/android/PlumberMonthly.vue +84 -84
  210. package/src/components/android/PostMap.vue +83 -83
  211. package/src/components/android/QRCode/QRCodeBinding.vue +290 -300
  212. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  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/StationMaster.vue +12 -12
  218. package/src/components/defects/DefectModal.vue +101 -101
  219. package/src/components/defects/DevicesAndItem.vue +39 -39
  220. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  221. package/src/components/notice/NoticeForm.vue +100 -100
  222. package/src/components/notice/NoticeIssue.vue +20 -20
  223. package/src/components/paper/PicViewer.vue +18 -18
  224. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  225. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  226. package/src/components/phonestate/PostMap.vue +82 -82
  227. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  228. package/src/components/rongcheng/PaperStatem.vue +6 -1
  229. package/src/components/userfile/MeterFile.vue +145 -145
  230. package/src/components/userfile/MeterModify.vue +46 -46
  231. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  232. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  233. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +59 -57
  234. package/src/filiale/weinan/pc/checkUserList.vue +113 -34
  235. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  236. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  237. package/src/plugins/LoadData.js +10 -10
  238. package/src/plugins/LoadParams.js +24 -24
  239. package/src/stores/wxconfig.js +10 -10
  240. package/src/utils/getNowDate.js +33 -33
  241. package/test/e2e/custom-assertions/elementCount.js +26 -26
  242. package/test/e2e/nightwatch.conf.js +40 -40
  243. package/test/e2e/runner.js +30 -30
  244. package/test/e2e/specs/test.js +13 -13
  245. package/test/unit/.eslintrc +5 -5
  246. package/test/unit/TestUtil.js +62 -62
  247. package/test/unit/context.html +20 -20
  248. package/test/unit/index.js +13 -13
@@ -56,10 +56,6 @@
56
56
  </div>
57
57
  <div class="form-group col-sm-4" >
58
58
  <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
59
- <export-excel-safe :data="$parent.$parent.searchData"
60
- :field="$parent.$parent.excelHeaders"
61
- :choose-col="true"
62
- sqlurl="rs/logic/SafeExportExcel" sql-name="FetchUserFileByOrgNoRuHuSXQ" template-name='安检筛选用户信息导出'></export-excel-safe>
63
59
  <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
64
60
  <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.createAndSend()">下发</button>
65
61
  </div>
@@ -115,7 +111,7 @@
115
111
  placeholder='请选择'
116
112
  style="width:60%;text-align: center"
117
113
  :disabled-days-of-week="[]"
118
- :format="'yyyy-MM-dd 00:00:00'"
114
+ :format="'yyyy-MM-dd'"
119
115
  :show-rest-button="reset"
120
116
  :value.sync="model.f_check_start"
121
117
  v-model="model.f_check_start">
@@ -127,7 +123,7 @@
127
123
  placeholder='请选择'
128
124
  :disabled-days-of-week="[]"
129
125
  style="width:60%;text-align: center"
130
- :format="'yyyy-MM-dd 23:59:59'"
126
+ :format="'yyyy-MM-dd'"
131
127
  :show-rest-button="reset"
132
128
  :value.sync="model.f_check_end"
133
129
  v-model="model.f_check_end">
@@ -273,31 +269,7 @@ import {toStandardDateString} from "../../../components/Util";
273
269
  export default {
274
270
  title: '计划管理',
275
271
  data() {
276
- let model = new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 20, {
277
- "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
278
- "f_usertype": "''",
279
- "month": "''",
280
- "SafeCheckSX": 'this.SafeCheckSX',
281
- "SafeCheckCQ": "''",
282
- "startday":"''",
283
- "endday":"''"})
284
- model.SafeCheckSX = '1 = 1'
285
272
  return {
286
- searchData: {
287
- condition: "1=1",
288
- orderitem: "f_residential_area,f_building,f_unit,f_floor,f_room",
289
- SafeCheckSX:""
290
- },
291
- excelHeaders: {
292
- 'f_userinfo_code': '用户编号',
293
- 'f_user_name': '用户姓名',
294
- 'f_user_type': '用户类型',
295
- 'f_residential_area': '小区名称',
296
- 'f_last_check_date': '最后一次安检日期',
297
- 'f_last_check_state': '最后一次安检状态',
298
- 'f_address': '详细地址'
299
- },
300
- model: model,
301
273
  createPlan:{
302
274
  f_safecheck_type:"年度普检",
303
275
  checker:"",
@@ -313,6 +285,14 @@ export default {
313
285
  yearList:[{label:"2020",value:"2020"},{label:"2021",value:"2021"},{label:"2022",value:"2022"},{label:"2023",value:"2023"},{label:"2024",value:"2024"},{label:"2025",value:"2025"},{label:"2026",value:"2026"},{label:"2027",value:"2027"},{label:"2028",value:"2028"},{label:"2029",value:"2029"},{label:"2030",value:"2030"}],
314
286
  monthList:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"},{label:"9",value:"9"},{label:"10",value:"10"},{label:"11",value:"11"},{label:"12",value:"12"}],
315
287
  showCreatePlan:false,
288
+ model:new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 20, {
289
+ "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
290
+ "f_usertype": "''",
291
+ "month": "''",
292
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
293
+ "SafeCheckCQ": "''",
294
+ "startday":"''",
295
+ "endday":"''"}),
316
296
  a:'1',
317
297
  opt:[{label:"测试",value:"测试"}],
318
298
  showCondtion:false,
@@ -377,7 +357,6 @@ export default {
377
357
  f_filialeid:this.userlogin.orgid,
378
358
  f_subscribe_date:'',
379
359
  condition:this.model.condition,
380
- SafeCheckSX: this.model.SafeCheckSX,
381
360
  switchCheckAll:true,
382
361
  checkAll:this.checkAll,
383
362
  param:this.checkes,
@@ -419,42 +398,66 @@ export default {
419
398
  this.excelUserCondtion=true
420
399
  },
421
400
  selfSearch (args) {
422
- if(args.model.f_last_check_state.length > 0) {
401
+ console.log(this.bookrow,"6666")
402
+ //tag)
403
+ // 判断时间和状态匹配条件
404
+ let f_last_check_state = ''
405
+
406
+ if(args.model.f_last_check_state.length > 0){
423
407
  let zzcon = ''
424
- if (Util.isEmpty(args.model.f_check_start) || Util.isEmpty(args.model.f_check_end)) {
408
+ if( Util.isEmpty(args.model.f_check_start) && Util.isEmpty(args.model.f_check_end)){
425
409
  this.$showMessage("选择安检状态时,需要选择安检时间区间!")
426
410
  return
427
411
  }
428
- this.model.SafeCheckSX = ` f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
429
- for (let i = 0; i < args.model.f_last_check_state.length; i++) {
430
- if (args.model.f_last_check_state[i] == '未检') {
431
- zzcon += ' tcp.ruhu is null '
432
- if (i != args.model.f_last_check_state.length - 1) {
433
- zzcon += ' or'
434
- }
435
- } else if (args.model.f_last_check_state[i] == '入户') {
436
- zzcon += `tcp.ruhu > 0`
437
- if (i != args.model.f_last_check_state.length - 1) {
438
- zzcon += ' or'
439
- }
440
- } else if (args.model.f_last_check_state[i] == '拒检') {
441
- zzcon += `(tcp.jujian > 0 and tcp.ruhu = 0 and tcp.daofang = 0) `
442
- if (i != args.model.f_last_check_state.length - 1) {
443
- zzcon += ' or'
412
+ for(let i = 0;i<args.model.f_last_check_state.length;i++){
413
+ if(args.model.f_last_check_state[i] == '未检'){
414
+ let lscon = args.model.f_check_start ? ` or ui.f_last_check_date <= '${args.model.f_check_start} 00:00:00'` :''
415
+ lscon += lscon ? (args.model.f_check_end ? ` or ui.f_last_check_date >= '${args.model.f_check_end} 23:59:59'` :''): (args.model.f_check_end ? `ui.f_last_check_date >= '${args.model.f_check_end} 23:59:59'` :'')
416
+ if(i == args.model.f_last_check_state.length-1){
417
+ zzcon += `( ui.f_last_check_state is null or ua.f_last_check_state ='' ${lscon} ) `
418
+ }else{
419
+ zzcon += `( ui.f_last_check_state is null or ua.f_last_check_state ='' ${lscon} ) or `
444
420
  }
445
- } else if (args.model.f_last_check_state[i] == '到访不遇') {
446
- zzcon += `(tcp.daofang > 0 and tcp.ruhu = 0 and tcp.jujian = 0) `
447
- if (i != args.model.f_last_check_state.length - 1) {
448
- zzcon += ' or'
421
+ } else{
422
+ let lscon = args.model.f_check_start ? ` and ui.f_last_check_date >= '${args.model.f_check_start} 00:00:00'` :''
423
+ lscon += lscon ? (args.model.f_check_end ? ` and ui.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'') : (args.model.f_check_end ? ` ui.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'')
424
+ if(i == args.model.f_last_check_state.length-1){
425
+ zzcon += `(ui.f_last_check_state = '${args.model.f_last_check_state[i]}' ${lscon} ) `
426
+ }else{
427
+ zzcon += `(ui.f_last_check_state = '${args.model.f_last_check_state[i]}' ${lscon} ) or `
449
428
  }
450
429
  }
451
430
  }
452
431
  args.condition += `and ( ${zzcon} )`
432
+ }else if(args.model.f_last_check_state.length == 0 && (!Util.isEmpty(args.model.f_check_start) || !Util.isEmpty(args.model.f_check_end) )){
433
+ let lscon = args.model.f_check_start ? ` and ui.f_last_check_date >= '${args.model.f_check_start} 00:00:00'` :''
434
+ lscon += lscon ? (args.model.f_check_end ? ` and ui.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'') : (args.model.f_check_end ? ` ui.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'')
435
+ args.condition += lscon
453
436
  }else{
454
- //无条件
455
- this.model.SafeCheckSX = ` 1 != 1 `
437
+ console.log('这块无条件')
456
438
  }
457
- this.searchData.SafeCheckSX = this.model.SafeCheckSX
439
+
440
+ // if (!Util.isEmpty(args.model.f_last_check_state) && (!Util.isEmpty(args.model.f_check_start) || !Util.isEmpty(args.model.f_check_end) )){
441
+ // if (args.model.f_last_check_state == '未检'){
442
+ // var lscon = args.model.f_check_start ? ` or ua.f_last_check_date <= '${args.model.f_check_start} 00:00:00'` :''
443
+ // lscon += lscon ? (args.model.f_check_end ? ` or ua.f_last_check_date >= '${args.model.f_check_end} 23:59:59'` :''): (args.model.f_check_end ? `ua.f_last_check_date >= '${args.model.f_check_end} 23:59:59'` :'')
444
+ // args.condition +=`and (ua.f_last_check_state is null or ua.f_last_check_state ='' ${lscon} ) `
445
+ // }else {
446
+ // var lscon = args.model.f_check_start ? ` and ua.f_last_check_date >= '${args.model.f_check_start} 00:00:00'` :''
447
+ // lscon += lscon ? (args.model.f_check_end ? ` and ua.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'') : (args.model.f_check_end ? ` ua.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'')
448
+ // args.condition += `and ua.f_last_check_state = '${args.model.f_last_check_state}' ${lscon}`
449
+ // }
450
+ //
451
+ // }else if (Util.isEmpty(args.model.f_last_check_state) && (!Util.isEmpty(args.model.f_check_start) || !Util.isEmpty(args.model.f_check_end) )) {
452
+ // var lscon = args.model.f_check_start ? ` and ua.f_last_check_date >= '${args.model.f_check_start} 00:00:00'` :''
453
+ // lscon += lscon ? (args.model.f_check_end ? ` and ua.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'') : (args.model.f_check_end ? ` ua.f_last_check_date <= '${args.model.f_check_end} 23:59:59'` :'')
454
+ // args.condition += lscon
455
+ // }else if (!Util.isEmpty(args.model.f_last_check_state) && Util.isEmpty(args.model.f_check_start) && Util.isEmpty(args.model.f_check_end)){
456
+ // this.$showMessage("选择安检状态时,需要选择安检时间区间!")
457
+ // return
458
+ // }else{
459
+ // console.log('这块无条件')
460
+ // }
458
461
  let condition1=`(ui.f_last_check_date is null or ui.f_last_check_date ='')`
459
462
  let arge = args.condition.replace('从未安检',condition1)
460
463
  args.condition = arge
@@ -514,7 +517,6 @@ export default {
514
517
  this.cancel()
515
518
  this.checkes=[]
516
519
  this.checkAll=false
517
- this.searchData.condition = args.condition
518
520
  this.model.search(args.condition, args.model, args.condValue)
519
521
  },
520
522
  showUserCondition(){
@@ -120,6 +120,51 @@
120
120
  <input type="text" class="input_search" v-model="model.f_unit"
121
121
  style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
122
122
  </div>
123
+ <!-- <div class="form-group col-sm-4" >-->
124
+ <!-- <label class="font_normal_body">开户起始:</label>-->
125
+ <!-- <datepicker-->
126
+ <!-- placeholder='请选择'-->
127
+ <!-- style="width:60%"-->
128
+ <!-- :disabled-days-of-week="[]"-->
129
+ <!-- :format="'yyyy-MM-dd'"-->
130
+ <!-- :show-rest-button="reset"-->
131
+ <!-- :value.sync="model.f_startfile_time"-->
132
+ <!-- v-model="model.f_startfile_time"-->
133
+ <!-- condition="ui.f_createfile_date >= '{} 00:00:00'">-->
134
+ <!-- </datepicker>-->
135
+ <!-- </div>-->
136
+ <!-- <div class="form-group col-sm-4" >-->
137
+ <!-- <label class="font_normal_body">开户截止:</label>-->
138
+ <!-- <datepicker-->
139
+ <!-- placeholder='请选择'-->
140
+ <!-- :disabled-days-of-week="[]"-->
141
+ <!-- style="width:60%"-->
142
+ <!-- :format="'yyyy-MM-dd'"-->
143
+ <!-- :show-rest-button="reset"-->
144
+ <!-- :value.sync="model.f_endfile_time"-->
145
+ <!-- v-model="model.f_endfile_time"-->
146
+ <!-- condition="ui.f_createfile_date <= '{} 00:00:00'">-->
147
+ <!-- </datepicker>-->
148
+ <!-- </div>-->
149
+ <!-- <div class="form-group col-sm-4" >-->
150
+ <!-- <label class="font_normal_body">表&ensp;箱&ensp;号:</label>-->
151
+ <!-- <input type="text" class="input_search" v-model="model.f_metertitles"-->
152
+ <!-- style="width: 60%" placeholder="请选择" condition="uf.f_metertitles='{}'">-->
153
+ <!-- </div>-->
154
+ <!-- <div class="form-group col-sm-4" >-->
155
+ <!-- <label class="font_normal_body">抄&ensp;表&ensp;册:</label>-->
156
+ <!-- <v-select-->
157
+ <!-- class="select select_list"-->
158
+ <!-- :value.sync="model.f_meter_book_num"-->
159
+ <!-- v-model="model.f_meter_book_num"-->
160
+ <!-- :options='$parent.$parent.cbc'-->
161
+ <!-- placeholder='请选择'-->
162
+ <!-- condition="uf.f_meter_book_num='{}'"-->
163
+ <!-- close-on-select-->
164
+ <!-- value-single-->
165
+ <!-- >-->
166
+ <!-- </v-select>-->
167
+ <!-- </div>-->
123
168
  <div class="form-group col-sm-4" >
124
169
  <label class="font_normal_body">派发情况:</label>
125
170
  <v-select
@@ -149,6 +194,21 @@
149
194
  >
150
195
  </v-select>
151
196
  </div>
197
+ <!-- <div class="form-group col-sm-4" >-->
198
+ <!-- <label class="font_normal_body">安检情况:</label>-->
199
+ <!-- <v-select-->
200
+ <!-- class="select select_list"-->
201
+ <!-- :value.sync="model.checkState"-->
202
+ <!-- v-model="model.checkState"-->
203
+ <!-- :options='$parent.$parent.checkStateList'-->
204
+ <!-- placeholder='请选择'-->
205
+ <!-- condition="{}"-->
206
+ <!-- :search="false"-->
207
+ <!-- close-on-select-->
208
+ <!-- value-single-->
209
+ <!-- >-->
210
+ <!-- </v-select>-->
211
+ <!-- </div>-->
152
212
  <div class="form-group col-sm-4" >
153
213
  <label class="font_normal_body">安检片区:</label>
154
214
  <v-select
@@ -163,16 +223,31 @@
163
223
  >
164
224
  </v-select>
165
225
  </div>
226
+ <!--<div class="form-group col-sm-4" >
227
+ <label class="font_normal_body">入户情况:</label>
228
+ <v-select
229
+ class="select select_list"
230
+ :value.sync="model.f_hasHousehold"
231
+ v-model="model.f_hasHousehold"
232
+ :options='$parent.$parent.hasHousehold'
233
+ placeholder='请选择'
234
+ close-on-select
235
+ :search="false"
236
+ value-single
237
+ >
238
+ </v-select>
239
+ </div>-->
166
240
  <div class="form-group col-sm-4" >
167
241
  <label class="font_normal_body">安检起始:</label>
168
242
  <datepicker
169
243
  placeholder='请选择'
170
244
  style="width:60%;text-align: center"
171
245
  :disabled-days-of-week="[]"
172
- :format="'yyyy-MM-dd 00:00:00'"
246
+ :format="'yyyy-MM-dd'"
173
247
  :show-rest-button="reset"
174
248
  :value.sync="model.f_check_start"
175
- v-model="model.f_check_start">
249
+ v-model="model.f_check_start"
250
+ condition="ui.f_last_check_date >='{} 00:00:00'">
176
251
  </datepicker>
177
252
  </div>
178
253
  <div class="form-group col-sm-4" >
@@ -181,10 +256,11 @@
181
256
  placeholder='请选择'
182
257
  :disabled-days-of-week="[]"
183
258
  style="width:60%;text-align: center"
184
- :format="'yyyy-MM-dd 23:59:59'"
259
+ :format="'yyyy-MM-dd'"
185
260
  :show-rest-button="reset"
186
261
  :value.sync="model.f_check_end"
187
- v-model="model.f_check_end">
262
+ v-model="model.f_check_end"
263
+ condition="ui.f_last_check_date <='{} 00:00:00'">
188
264
  </datepicker>
189
265
  </div>
190
266
 
@@ -263,20 +339,18 @@
263
339
  import Vue from "vue";
264
340
 
265
341
  export default {
266
- name: "checkUserList",
342
+ name: "PlanManage",
267
343
  title: '计划管理',
268
344
  data() {
269
- let model = new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 20, {
270
- "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
271
- "f_usertype": "''",
272
- "month": "''",
273
- "SafeCheckSX": 'this.SafeCheckSX',
274
- "SafeCheckCQ": "''",
275
- "startday":"''",
276
- "endday":"''"})
277
- model.SafeCheckSX = '1 = 1'
278
345
  return {
279
- model: model,
346
+ model:new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
347
+ "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
348
+ "f_usertype": "''",
349
+ "month": "''",
350
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
351
+ "SafeCheckCQ": "''",
352
+ "startday":"''",
353
+ "endday":"''"}),
280
354
  a:'1',
281
355
  opt:[{label:"测试",value:"测试"}],
282
356
  showCondtion:false,
@@ -287,6 +361,7 @@
287
361
  meter_gasbrand:[],//气表品牌
288
362
  hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
289
363
  yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
364
+ checkStateList:[{label:"全部",value:""},{label:"两年内已检",value:"DATEDIFF(day,isnull(ui.f_last_check_date,'2010-01-01'),GETDATE())<=730"},{label:"两年内未检",value:"DATEDIFF(day,isnull(ui.f_last_check_date,'2010-01-01'),GETDATE())>730"},{label:"从未安检",value:"从未安检"}],
290
365
  hasResidentialArea:[{label:"全部",value:""},{label:"有名称",value:"有名称"},{label:"无名称",value:"无名称"}],
291
366
  sliceArea:[],
292
367
  meterbooks:[],
@@ -387,33 +462,38 @@
387
462
  this.excelUserCondtion=true
388
463
  },
389
464
  selfSearch (args) {
390
- if(args.model.f_last_check_state) {
391
- if (Util.isEmpty(args.model.f_check_start) || Util.isEmpty(args.model.f_check_end)) {
392
- this.$showMessage("选择安检状态时,需要选择安检时间区间!")
393
- return
394
- }
395
- this.model.SafeCheckSX = ` f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
396
- if (args.model.f_last_check_state == '未检') {
397
- args.condition += ' and tcp.ruhu is null '
398
- } else if (args.model.f_last_check_state == '入户') {
399
- args.condition += ` and tcp.ruhu > 0`
400
- } else if (args.model.f_last_check_state == '拒检') {
401
- args.condition += ` and tcp.jujian > 0 and tcp.ruhu = 0 and tcp.daofang = 0 `
402
- } else if (args.model.f_last_check_state == '到访不遇') {
403
- args.condition += ` and tcp.daofang > 0 and tcp.ruhu = 0 and tcp.jujian = 0 `
465
+ //tag)
466
+ let condition1="(ui.f_last_check_date is null or ui.f_last_check_date ='')"
467
+ let arge = args.condition.replace('从未安检',condition1)
468
+ args.condition = arge
469
+ args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
470
+ if (!Util.isEmpty(args.model.f_last_check_state)){
471
+ if (args.model.f_last_check_state == '未检'){
472
+ args.condition +=" and (ui.f_last_check_state is null or ui.f_last_check_state ='')"
473
+ }else {
474
+ args.condition += `and ui.f_last_check_state = '${args.model.f_last_check_state}'`
404
475
  }
405
- }else{
406
- //无条件
407
- this.model.SafeCheckSX = ` 1 != 1 `
408
476
  }
409
- args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
477
+ //(ua.f_residential_area is not null or ua.f_residential_area !='')
478
+ // (ua.f_residential_area is null or ua.f_residential_area ='')
410
479
  if (args.model.f_residential_area == "无名称"){
411
480
  args.condition +=" and (ua.f_residential_area is null or ua.f_residential_area ='')"
412
481
  }else if (args.model.f_residential_area == "有名称"){
413
482
  args.condition +=" and (ua.f_residential_area is not null and ua.f_residential_area !='')"
414
483
  }
415
484
  console.log('查询条件',args)
485
+ /*if(args.model.f_hasHousehold=='已入户'){
486
+ args.condition +=` and Extract(year from TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'))=2021 and ua.F_LAST_CHECK_STATE='入户'`
487
+ }else if(args.model.f_hasHousehold=='未入户'){
488
+ args.condition +=` and (Extract(year from nvl(TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'),'1990-01-01 00:00:00'))!=2021 or nvl(ua.F_LAST_CHECK_STATE,'未入户')!='入户')`
489
+ }*/
416
490
  if(args.model.checkBook){
491
+ /* let arr=args.model.checkBook.split('-')
492
+ if(arr[1] == '用户'){
493
+ args.condition +=` and ua.f_check_book_id=${arr[0]}`
494
+ }else{
495
+ args.condition +=` and area.f_check_book_id=${arr[0]} and ua.f_check_book_id is null`
496
+ }*/
417
497
  let uas = []
418
498
  let areas = []
419
499
  for (let item of args.model.checkBook) {
@@ -600,7 +680,6 @@
600
680
  f_filialeid:this.userlogin.orgid,
601
681
  f_subscribe_date:'',
602
682
  condition:this.model.condition,
603
- SafeCheckSX: this.model.SafeCheckSX,
604
683
  switchCheckAll:true,
605
684
  checkAll:this.checkAll,
606
685
  param:this.checkes,
@@ -1558,6 +1558,7 @@ export default {
1558
1558
  this.$set('data.f_state',this.item.f_state)
1559
1559
  //tag
1560
1560
  // 用户信息
1561
+ this.$set('data.f_contract_id', this.item.f_plan_meters[0].f_contract_id)
1561
1562
  this.$set('data.f_user_name', this.item.f_user_name)
1562
1563
  this.$set('data.f_user_phone', this.item.f_user_phone)
1563
1564
  this.$set('data.f_userinfoid', this.item.f_userinfoid)
@@ -13,6 +13,10 @@
13
13
  <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
14
14
  <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_user_name }}</p>
15
15
  </div>
16
+ <div class="col-xs-12" style="padding: 2px 0">
17
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>合同编号:</b></p>
18
+ <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_contract_id}}</p>
19
+ </div>
16
20
  <div class="col-xs-12" style="padding: 2px 0">
17
21
  <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户类型:</b></p>
18
22
  <p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_check_type }}
@@ -1,10 +1,10 @@
1
- import Vue from 'vue'
2
- // import AppData from '../stores/AppData'
3
-
4
- let getSafeCheckParams = {
5
- install (Vue, options) {
6
- // 给vue增添对话框显示方法
7
- Vue.getSafeCheckParams = Vue.prototype.$getSafeCheckParams = getSafeCheckParams
8
- }
9
- }
10
- export default getSafeCheckParams
1
+ import Vue from 'vue'
2
+ // import AppData from '../stores/AppData'
3
+
4
+ let getSafeCheckParams = {
5
+ install (Vue, options) {
6
+ // 给vue增添对话框显示方法
7
+ Vue.getSafeCheckParams = Vue.prototype.$getSafeCheckParams = getSafeCheckParams
8
+ }
9
+ }
10
+ export default getSafeCheckParams
@@ -1,24 +1,24 @@
1
- import Vue from 'vue'
2
- // import AppData from '../stores/AppData'
3
-
4
- let LoadParams = {
5
- // 开启卡监听
6
- load () {
7
- return Vue.resetpost('rs/path/getParams', {data: {}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
8
- res.data.forEach((item) => {
9
- let value = []
10
- item.f_paramvalues.forEach((item, index) => {
11
- value[index] = {}
12
- value[index].label = item.name
13
- value[index].value = item.name
14
- })
15
- AppData.params[item.name] = value
16
- })
17
- }).catch((res) => {
18
- this.msg = res.data
19
- this.show = true
20
- })
21
- }
22
- }
23
-
24
- export default LoadParams
1
+ import Vue from 'vue'
2
+ // import AppData from '../stores/AppData'
3
+
4
+ let LoadParams = {
5
+ // 开启卡监听
6
+ load () {
7
+ return Vue.resetpost('rs/path/getParams', {data: {}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
8
+ res.data.forEach((item) => {
9
+ let value = []
10
+ item.f_paramvalues.forEach((item, index) => {
11
+ value[index] = {}
12
+ value[index].label = item.name
13
+ value[index].value = item.name
14
+ })
15
+ AppData.params[item.name] = value
16
+ })
17
+ }).catch((res) => {
18
+ this.msg = res.data
19
+ this.show = true
20
+ })
21
+ }
22
+ }
23
+
24
+ export default LoadParams
@@ -1,10 +1,10 @@
1
- export default {
2
- // 一下为长安呼叫使用云电话地址
3
- // tcUrl: 'http://192.169.1.2:9876/Dual'
4
- /* voiceUrl: 'http://127.0.0.1:9876/Dual',
5
- texttUrl: 'http://192.168.2.77:9876/Dual'*/
6
- // 一下为咸阳呼叫使用地址
7
- // tcUrl: 'http://192.168.2.77:9876/Dual'
8
- // tcUrl: 'http://127.0.0.1:9876/Dual'
9
- // tcUrl: 'http://192.168.30.28:9876/Dual'
10
- }
1
+ export default {
2
+ // 一下为长安呼叫使用云电话地址
3
+ // tcUrl: 'http://192.169.1.2:9876/Dual'
4
+ /* voiceUrl: 'http://127.0.0.1:9876/Dual',
5
+ texttUrl: 'http://192.168.2.77:9876/Dual'*/
6
+ // 一下为咸阳呼叫使用地址
7
+ // tcUrl: 'http://192.168.2.77:9876/Dual'
8
+ // tcUrl: 'http://127.0.0.1:9876/Dual'
9
+ // tcUrl: 'http://192.168.30.28:9876/Dual'
10
+ }
@@ -1,33 +1,33 @@
1
- export default () => {
2
- // 求取当前时间的工具
3
- let myweekday = ''
4
- let year = ''
5
- let mydate = new Date()
6
- myweekday = mydate.getDay()
7
- let mymonth = mydate.getMonth() + 1
8
- let myday = mydate.getDate()
9
- let myyear = mydate.getYear()
10
- year = (myyear > 200) ? myyear : 1900 + myyear
11
- let weekday = ''
12
- if (myweekday === 0) {
13
- weekday = '星期日'
14
- } else if (myweekday === 1) {
15
- weekday = '星期一'
16
- } else if (myweekday === 2) {
17
- weekday = '星期二'
18
- } else if (myweekday === 3) {
19
- weekday = '星期三'
20
- } else if (myweekday === 4) {
21
- weekday = '星期四'
22
- } else if (myweekday === 5) {
23
- weekday = '星期五'
24
- } else if (myweekday === 6) {
25
- weekday = '星期日'
26
- } else if (myweekday === 7) {
27
- weekday = '星期六'
28
- }
29
-
30
-
31
- // document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
32
- return year + '年' + mymonth + '月' + myday + '日 ' + weekday
33
- }
1
+ export default () => {
2
+ // 求取当前时间的工具
3
+ let myweekday = ''
4
+ let year = ''
5
+ let mydate = new Date()
6
+ myweekday = mydate.getDay()
7
+ let mymonth = mydate.getMonth() + 1
8
+ let myday = mydate.getDate()
9
+ let myyear = mydate.getYear()
10
+ year = (myyear > 200) ? myyear : 1900 + myyear
11
+ let weekday = ''
12
+ if (myweekday === 0) {
13
+ weekday = '星期日'
14
+ } else if (myweekday === 1) {
15
+ weekday = '星期一'
16
+ } else if (myweekday === 2) {
17
+ weekday = '星期二'
18
+ } else if (myweekday === 3) {
19
+ weekday = '星期三'
20
+ } else if (myweekday === 4) {
21
+ weekday = '星期四'
22
+ } else if (myweekday === 5) {
23
+ weekday = '星期五'
24
+ } else if (myweekday === 6) {
25
+ weekday = '星期日'
26
+ } else if (myweekday === 7) {
27
+ weekday = '星期六'
28
+ }
29
+
30
+
31
+ // document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
32
+ return year + '年' + mymonth + '月' + myday + '日 ' + weekday
33
+ }
@@ -1,26 +1,26 @@
1
- // A custom Nightwatch assertion.
2
- // the name of the method is the filename.
3
- // can be used in tests like this:
4
- //
5
- // browser.assert.elementCount(selector, count)
6
- //
7
- // for how to write custom assertions see
8
- // http://nightwatchjs.org/guide#writing-custom-assertions
9
- exports.assertion = function (selector, count) {
10
- this.message = 'Testing if element <' + selector + '> has count: ' + count
11
- this.expected = count
12
- this.pass = function (val) {
13
- return val === this.expected
14
- }
15
- this.value = function (res) {
16
- return res.value
17
- }
18
- this.command = function (cb) {
19
- var self = this
20
- return this.api.execute(function (selector) {
21
- return document.querySelectorAll(selector).length
22
- }, [selector], function (res) {
23
- cb.call(self, res)
24
- })
25
- }
26
- }
1
+ // A custom Nightwatch assertion.
2
+ // the name of the method is the filename.
3
+ // can be used in tests like this:
4
+ //
5
+ // browser.assert.elementCount(selector, count)
6
+ //
7
+ // for how to write custom assertions see
8
+ // http://nightwatchjs.org/guide#writing-custom-assertions
9
+ exports.assertion = function (selector, count) {
10
+ this.message = 'Testing if element <' + selector + '> has count: ' + count
11
+ this.expected = count
12
+ this.pass = function (val) {
13
+ return val === this.expected
14
+ }
15
+ this.value = function (res) {
16
+ return res.value
17
+ }
18
+ this.command = function (cb) {
19
+ var self = this
20
+ return this.api.execute(function (selector) {
21
+ return document.querySelectorAll(selector).length
22
+ }, [selector], function (res) {
23
+ cb.call(self, res)
24
+ })
25
+ }
26
+ }