safecheck-client 4.0.2-38 → 4.0.2-39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) 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/bootstrap/less/.csscomb.json +304 -304
  121. package/src/bootstrap/less/.csslintrc +19 -19
  122. package/src/bootstrap/less/alerts.less +73 -73
  123. package/src/bootstrap/less/badges.less +66 -66
  124. package/src/bootstrap/less/breadcrumbs.less +26 -26
  125. package/src/bootstrap/less/button-groups.less +247 -247
  126. package/src/bootstrap/less/buttons.less +172 -172
  127. package/src/bootstrap/less/carousel.less +269 -269
  128. package/src/bootstrap/less/close.less +34 -34
  129. package/src/bootstrap/less/code.less +69 -69
  130. package/src/bootstrap/less/component-animations.less +33 -33
  131. package/src/bootstrap/less/dropdowns.less +216 -216
  132. package/src/bootstrap/less/grid.less +84 -84
  133. package/src/bootstrap/less/input-groups.less +167 -167
  134. package/src/bootstrap/less/jumbotron.less +52 -52
  135. package/src/bootstrap/less/labels.less +64 -64
  136. package/src/bootstrap/less/list-group.less +141 -141
  137. package/src/bootstrap/less/media.less +66 -66
  138. package/src/bootstrap/less/mixins/alerts.less +14 -14
  139. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  140. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  141. package/src/bootstrap/less/mixins/buttons.less +69 -69
  142. package/src/bootstrap/less/mixins/center-block.less +7 -7
  143. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  144. package/src/bootstrap/less/mixins/forms.less +90 -90
  145. package/src/bootstrap/less/mixins/gradients.less +59 -59
  146. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  147. package/src/bootstrap/less/mixins/grid.less +122 -122
  148. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  149. package/src/bootstrap/less/mixins/image.less +33 -33
  150. package/src/bootstrap/less/mixins/labels.less +12 -12
  151. package/src/bootstrap/less/mixins/list-group.less +30 -30
  152. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  153. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  154. package/src/bootstrap/less/mixins/opacity.less +8 -8
  155. package/src/bootstrap/less/mixins/pagination.less +24 -24
  156. package/src/bootstrap/less/mixins/panels.less +24 -24
  157. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  158. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  159. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  160. package/src/bootstrap/less/mixins/resize.less +6 -6
  161. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  162. package/src/bootstrap/less/mixins/size.less +10 -10
  163. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  164. package/src/bootstrap/less/mixins/table-row.less +44 -44
  165. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  166. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  167. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  168. package/src/bootstrap/less/mixins.less +40 -40
  169. package/src/bootstrap/less/modals.less +151 -151
  170. package/src/bootstrap/less/navbar.less +660 -660
  171. package/src/bootstrap/less/normalize.less +424 -424
  172. package/src/bootstrap/less/pagination.less +89 -89
  173. package/src/bootstrap/less/panels.less +275 -275
  174. package/src/bootstrap/less/popovers.less +131 -131
  175. package/src/bootstrap/less/print.less +101 -101
  176. package/src/bootstrap/less/progress-bars.less +87 -87
  177. package/src/bootstrap/less/responsive-embed.less +35 -35
  178. package/src/bootstrap/less/responsive-utilities.less +194 -194
  179. package/src/bootstrap/less/scaffolding.less +161 -161
  180. package/src/bootstrap/less/theme.less +291 -291
  181. package/src/bootstrap/less/thumbnails.less +36 -36
  182. package/src/bootstrap/less/tooltip.less +102 -102
  183. package/src/bootstrap/less/type.less +303 -303
  184. package/src/bootstrap/less/utilities.less +55 -55
  185. package/src/bootstrap/less/wells.less +29 -29
  186. package/src/components/FileUpload.vue +696 -696
  187. package/src/components/Hello.vue +39 -39
  188. package/src/components/LeftTree.vue +27 -27
  189. package/src/components/android/AttendanceTally.vue +116 -116
  190. package/src/components/android/Blank.vue +10 -10
  191. package/src/components/android/CheckUnplanPage.vue +56 -56
  192. package/src/components/android/Checker.vue +12 -12
  193. package/src/components/android/CheckerAnnual.vue +81 -81
  194. package/src/components/android/CheckerAvarta.vue +82 -82
  195. package/src/components/android/EquipmentInspection.vue +348 -348
  196. package/src/components/android/FootprintMap.vue +120 -120
  197. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  198. package/src/components/android/MasterMain.vue +77 -77
  199. package/src/components/android/Menu.vue +132 -132
  200. package/src/components/android/PaperAlarm.vue +85 -85
  201. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  202. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  203. package/src/components/android/PlumberAnnual.vue +83 -83
  204. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  205. package/src/components/android/PlumberMonthly.vue +84 -84
  206. package/src/components/android/PostMap.vue +83 -83
  207. package/src/components/android/QueryCheckHistory.vue +122 -122
  208. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  209. package/src/components/android/RepairMain.vue +60 -60
  210. package/src/components/android/Repairman.vue +12 -12
  211. package/src/components/android/SafeRightTree.vue +218 -218
  212. package/src/components/android/SafecheckDevices.vue +1340 -1340
  213. package/src/components/android/StationMaster.vue +12 -12
  214. package/src/components/android/week/CheckResultSimple.vue +3 -3
  215. package/src/components/android/week/FirstWeekCheck.vue +90 -84
  216. package/src/components/android/week/StepHeaderBar.vue +82 -26
  217. package/src/components/android/week/WeekCheck.vue +188 -151
  218. package/src/components/android/week/WeekCheckPaper.vue +181 -151
  219. package/src/components/defects/DefectModal.vue +101 -101
  220. package/src/components/defects/DevicesAndItem.vue +39 -39
  221. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  222. package/src/components/notice/NoticeForm.vue +100 -100
  223. package/src/components/notice/NoticeIssue.vue +20 -20
  224. package/src/components/paper/PicViewer.vue +18 -18
  225. package/src/components/pc/CheckBookArea.vue +146 -146
  226. package/src/components/pc/CheckBookCompany.vue +144 -144
  227. package/src/components/pc/CheckBookDetails.vue +161 -161
  228. package/src/components/pc/CheckBookEntry.vue +60 -60
  229. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  230. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  231. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  232. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  233. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  234. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  235. package/src/components/phonestate/PostMap.vue +82 -82
  236. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  237. package/src/components/userfile/MeterFile.vue +145 -145
  238. package/src/components/userfile/MeterModify.vue +46 -46
  239. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  240. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  241. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  242. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1343
  243. package/src/filiale/meihekou/android.js +22 -22
  244. package/src/filiale/xinkang/android/SafecheckOrderV.vue +2683 -2683
  245. package/src/plugins/LoadData.js +10 -10
  246. package/src/plugins/LoadParams.js +24 -24
  247. package/src/safecheck-android.js +326 -326
  248. package/src/stores/wxconfig.js +10 -10
  249. package/src/utils/getNowDate.js +33 -33
  250. package/test/e2e/custom-assertions/elementCount.js +26 -26
  251. package/test/e2e/nightwatch.conf.js +40 -40
  252. package/test/e2e/runner.js +30 -30
  253. package/test/e2e/specs/test.js +13 -13
  254. package/test/unit/.eslintrc +5 -5
  255. package/test/unit/TestUtil.js +62 -62
  256. package/test/unit/context.html +20 -20
  257. package/test/unit/index.js +13 -13
@@ -1,23 +1,23 @@
1
- <template>
2
- <div class="flex">
3
- <section>
4
- <div class="flex-row">
5
- <div class="over col-md-6">
6
- <issue-plan-query v-ref:query ></issue-plan-query>
7
- </div>
8
- <div class="span-row over col-md-6">
9
- <issue-plan-action :item='$refs.query.selected' ></issue-plan-action>
10
- </div>
11
- </div>
12
- </section>
13
- </div>
14
- </template>
15
- <script>
16
- import IssuePlanAction from './IssuePlanAction'
17
- import IssuePlanQuery from './IssuePlanQuery'
18
- export default {
19
- title: '下发计划',
20
- props: ['f'],
21
- components: { IssuePlanAction, IssuePlanQuery }
22
- }
23
- </script>
1
+ <template>
2
+ <div class="flex">
3
+ <section>
4
+ <div class="flex-row">
5
+ <div class="over col-md-6">
6
+ <issue-plan-query v-ref:query ></issue-plan-query>
7
+ </div>
8
+ <div class="span-row over col-md-6">
9
+ <issue-plan-action :item='$refs.query.selected' ></issue-plan-action>
10
+ </div>
11
+ </div>
12
+ </section>
13
+ </div>
14
+ </template>
15
+ <script>
16
+ import IssuePlanAction from './IssuePlanAction'
17
+ import IssuePlanQuery from './IssuePlanQuery'
18
+ export default {
19
+ title: '下发计划',
20
+ props: ['f'],
21
+ components: { IssuePlanAction, IssuePlanQuery }
22
+ }
23
+ </script>
@@ -1,100 +1,100 @@
1
- <template>
2
- <div>
3
- <validator name='v'>
4
- <form novalidate class="form-horizontal">
5
- <div class="form-group">
6
- <label class="col-sm-2 control-lable">标题:</label>
7
- <div class="col-sm-8">
8
- <input class="form-control" type="text" v-model="notice.f_title" v-validate:f_title='{ required: true }' />
9
- </div>
10
- </div>
11
- <div class="form-group">
12
- <label class="col-sm-2 control-lable">内容:</label>
13
- <div class="col-sm-8">
14
- <textarea class="form-control" type="text" v-model="notice.f_content" v-validate:f_content='{ required: true }'></textarea>
15
- </div>
16
- </div>
17
- <div class="form-group">
18
- <label class="col-sm-2 control-lable">时间:</label>
19
- <div class="col-sm-8">
20
- <input readonly='readonly' class="form-control" type="text" v-model="notice.f_time"/>
21
- </div>
22
- </div>
23
- <div class="form-group">
24
- <label class="col-sm-2 control-lable">分公司:</label>
25
- <div class="col-sm-8">
26
- <v-select :value.sync="notice.f_subcompany" :options='$parent.$refs.query.f_divisions' placeholder='请选择子公司'
27
- close-on-select clear-button></v-select>
28
- </div>
29
- </div>
30
- <div class="form-group col-sm-10 text-right">
31
- <button type="button" class="btn btn-success width-80" @click="save" v-if="$v.valid">保存</button>
32
- <button type="button" class="btn btn-success width-80" @click="anew">新建</button>
33
- <button type="button" class="btn btn-success width-80" @click="delete" v-if="$v.valid">删除</button>
34
- </div>
35
- </form>
36
- </validator>
37
- </div>
38
-
39
- </template>
40
-
41
- <script>
42
- import * as Util from '../Util'
43
- import co from 'co'
44
- import Vue from 'vue'
45
-
46
- let syncSave = function * (self) {
47
- self.notice.f_subcompany = self.$parent.$refs.query.f_divisions[0].value
48
- yield self.$resetpost('rs/entity/t_notice', self.notice)
49
- self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
50
- }
51
-
52
- let syncDelete = function * (self) {
53
- yield self.$remove('rs/entity/t_notice/', {id:self.notice.id })
54
- self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
55
- }
56
-
57
- export default {
58
- title: '公告表单',
59
- props: ['notice'],
60
- computed: {
61
- f_division: {
62
- get() {
63
- if (!this.notice || !this.notice.f_subcompany)
64
- return Vue.f_subcompany
65
- else
66
- return [this.notice.f_subcompany]
67
- },
68
- set(val) {
69
- this.notice.f_subcompany = val[0]
70
- }
71
- }
72
- },
73
- methods: {
74
- save() {
75
- if (!this.notice) {
76
- alert('请选择一个通知。')
77
- return
78
- }
79
- if (!this.notice.id) {
80
- this.$set('notice.f_time', Util.toStandardTimeString())
81
- }
82
- let gen = syncSave(this)
83
- return co(gen)
84
- },
85
- anew() {
86
- this.notice = {}
87
- this.$set('notice.f_time', Util.toStandardTimeString())
88
- },
89
- delete() {
90
- if (!this.notice) {
91
- alert('请选择一个通知。')
92
- return
93
- }
94
- let gen = syncDelete(this)
95
- return co(gen)
96
- }
97
- }
98
- }
99
-
100
- </script>
1
+ <template>
2
+ <div>
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="form-group">
6
+ <label class="col-sm-2 control-lable">标题:</label>
7
+ <div class="col-sm-8">
8
+ <input class="form-control" type="text" v-model="notice.f_title" v-validate:f_title='{ required: true }' />
9
+ </div>
10
+ </div>
11
+ <div class="form-group">
12
+ <label class="col-sm-2 control-lable">内容:</label>
13
+ <div class="col-sm-8">
14
+ <textarea class="form-control" type="text" v-model="notice.f_content" v-validate:f_content='{ required: true }'></textarea>
15
+ </div>
16
+ </div>
17
+ <div class="form-group">
18
+ <label class="col-sm-2 control-lable">时间:</label>
19
+ <div class="col-sm-8">
20
+ <input readonly='readonly' class="form-control" type="text" v-model="notice.f_time"/>
21
+ </div>
22
+ </div>
23
+ <div class="form-group">
24
+ <label class="col-sm-2 control-lable">分公司:</label>
25
+ <div class="col-sm-8">
26
+ <v-select :value.sync="notice.f_subcompany" :options='$parent.$refs.query.f_divisions' placeholder='请选择子公司'
27
+ close-on-select clear-button></v-select>
28
+ </div>
29
+ </div>
30
+ <div class="form-group col-sm-10 text-right">
31
+ <button type="button" class="btn btn-success width-80" @click="save" v-if="$v.valid">保存</button>
32
+ <button type="button" class="btn btn-success width-80" @click="anew">新建</button>
33
+ <button type="button" class="btn btn-success width-80" @click="delete" v-if="$v.valid">删除</button>
34
+ </div>
35
+ </form>
36
+ </validator>
37
+ </div>
38
+
39
+ </template>
40
+
41
+ <script>
42
+ import * as Util from '../Util'
43
+ import co from 'co'
44
+ import Vue from 'vue'
45
+
46
+ let syncSave = function * (self) {
47
+ self.notice.f_subcompany = self.$parent.$refs.query.f_divisions[0].value
48
+ yield self.$resetpost('rs/entity/t_notice', self.notice)
49
+ self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
50
+ }
51
+
52
+ let syncDelete = function * (self) {
53
+ yield self.$remove('rs/entity/t_notice/', {id:self.notice.id })
54
+ self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
55
+ }
56
+
57
+ export default {
58
+ title: '公告表单',
59
+ props: ['notice'],
60
+ computed: {
61
+ f_division: {
62
+ get() {
63
+ if (!this.notice || !this.notice.f_subcompany)
64
+ return Vue.f_subcompany
65
+ else
66
+ return [this.notice.f_subcompany]
67
+ },
68
+ set(val) {
69
+ this.notice.f_subcompany = val[0]
70
+ }
71
+ }
72
+ },
73
+ methods: {
74
+ save() {
75
+ if (!this.notice) {
76
+ alert('请选择一个通知。')
77
+ return
78
+ }
79
+ if (!this.notice.id) {
80
+ this.$set('notice.f_time', Util.toStandardTimeString())
81
+ }
82
+ let gen = syncSave(this)
83
+ return co(gen)
84
+ },
85
+ anew() {
86
+ this.notice = {}
87
+ this.$set('notice.f_time', Util.toStandardTimeString())
88
+ },
89
+ delete() {
90
+ if (!this.notice) {
91
+ alert('请选择一个通知。')
92
+ return
93
+ }
94
+ let gen = syncDelete(this)
95
+ return co(gen)
96
+ }
97
+ }
98
+ }
99
+
100
+ </script>
@@ -1,20 +1,20 @@
1
- <template>
2
- <div class="flex">
3
- <section>
4
- <div class="flex-row">
5
- <div class="over col-md-6">
6
- <notice-query v-ref:query></notice-query>
7
- </div>
8
- <div class="span-row over col-md-6">
9
- <notice-form :notice='$refs.query.selected'></notice-form>
10
- </div>
11
- </div>
12
- </section>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- export default {
18
- title: '通知管理'
19
- }
20
- </script>
1
+ <template>
2
+ <div class="flex">
3
+ <section>
4
+ <div class="flex-row">
5
+ <div class="over col-md-6">
6
+ <notice-query v-ref:query></notice-query>
7
+ </div>
8
+ <div class="span-row over col-md-6">
9
+ <notice-form :notice='$refs.query.selected'></notice-form>
10
+ </div>
11
+ </div>
12
+ </section>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ title: '通知管理'
19
+ }
20
+ </script>
@@ -1,18 +1,18 @@
1
- <template>
2
- <div>
3
- <a href="#" class="btn btn-primary" @click="this.$back('items')" width="800" height="600">&lt;&lt;</a>
4
- <img :src="pic_path">
5
- </div>
6
- </template>
7
-
8
- <script>
9
- export default {
10
- title: '图片浏览',
11
- props: ['pic_path'],
12
- data() {
13
- return {
14
- pic_path : this.pic_path
15
- }
16
- }
17
- }
18
- </script>
1
+ <template>
2
+ <div>
3
+ <a href="#" class="btn btn-primary" @click="this.$back('items')" width="800" height="600">&lt;&lt;</a>
4
+ <img :src="pic_path">
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ title: '图片浏览',
11
+ props: ['pic_path'],
12
+ data() {
13
+ return {
14
+ pic_path : this.pic_path
15
+ }
16
+ }
17
+ }
18
+ </script>
@@ -1,146 +1,146 @@
1
- <template>
2
- <div class="auto select-overspread">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="form-group col-sm-3" >
8
- <label class="font_normal_body">小区名称</label>
9
- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
10
- condition="f_residential_area like '%{}%'" @keyup.enter="search()">
11
- </div>
12
- <div class="form-group col-sm-2 button-range" >
13
- <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
14
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.send()" v-el:cba>下发</button>
15
- </div>
16
- </div>
17
- </div>
18
- </criteria>
19
- <data-grid :model="model" class="table_sy" partial='list' v-ref:grid >
20
- <template partial='head' >
21
- <tr>
22
- <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/>全选</nobr></th>
23
- <th><nobr>省市区/县</nobr></th>
24
- <th><nobr>街道/乡镇</nobr></th>
25
- <th><nobr>小区名称</nobr></th>
26
- <th><nobr>用户数量</nobr></th>
27
- <th><nobr>详细地址</nobr></th>
28
- <th><nobr>小区备注</nobr></th>
29
- </tr>
30
- </template>
31
- <template partial='body' >
32
- <tr >
33
- <td style="text-align: center;"><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.id)" @change="$parent.$parent.$parent.setCheckes(row.id)" /></td>
34
- <td style="text-align:center">{{row.f_pcd}}</td>
35
- <td style="text-align:center">{{row.f_street}}</td>
36
- <td style="text-align:center">{{row.f_residential_area}}</td>
37
- <td style="text-align:center"> <button @click.stop="$parent.$parent.$parent.details(row)" class="btn btn-link"><b>{{row.num?row.num:0}}</b></button></td>
38
- <td style="text-align:center">{{row.f_area_address}}</td>
39
- <td style="text-align:center">{{row.f_comments}}</td>
40
- </tr>
41
- </template>
42
- <template partial='foot'></template>
43
- </data-grid>
44
- </criteria-paged>
45
- <modal :show.sync="showSendModal" :backdrop="false" width="90%" height="90%">
46
- <article slot="modal-body" class="modal-body" style="height: 80vh">
47
- <check-book-search-user-list v-if="showSendModal" :row="row" :addcondata="addcondata" :bookrowsdata="{bookrows:checkes,checkAll:checkAll}" :needprops="needprops":userlogin="userlogin"></check-book-search-user-list>
48
- </article>
49
- <footer slot="modal-footer">
50
- </footer>
51
-
52
- </modal>
53
- </div>
54
- </template>
55
-
56
- <script>
57
- import {HttpResetClass, PagedList} from 'vue-client'
58
-
59
- export default {
60
- title: '安检记录列表',
61
- props: ['row','needprops'],
62
- data () {
63
- return {
64
- rowdata: this.row,
65
- showSendModal:false,
66
- checkBookRow:{
67
- },
68
- userlogin:{
69
- id:this.$login.f.id,
70
- name:this.$login.f.name,
71
- orgid:this.$login.f.orgid,
72
- orgstr:this.$login.f.orgs,
73
- },
74
- model: new PagedList('api/af-safecheck/sql/getCheckBookArea', 50),
75
- checkAll:false,
76
- checkes:[],
77
- addcondata:''
78
- }
79
- },
80
- ready(){
81
- console.log(this.row)
82
- const val = this.row
83
- if (val) {
84
- this.checkAll=false
85
- this.checkes=[]
86
- this.rowdata = val
87
- const condition = `f_check_book_id =${val.id}`
88
- this.model.search(condition)
89
- }
90
- },
91
- watch: {
92
- 'row' (val) {
93
- if (val) {
94
- this.checkAll=false
95
- this.checkes=[]
96
- this.rowdata = val
97
- const condition = `f_check_book_id =${val.id}`
98
- this.model.search(condition)
99
- }
100
- }
101
- },
102
- methods: {
103
- setCheckAll() {
104
- this.checkAll=this.checkAll?false:true;
105
- // 全选改变后,清空选中数据
106
- this.checkes = []
107
- },
108
- isChecked(v) {
109
- // 如果全选,不在的按选中算,否则,在的按选中算
110
- if (this.checkAll) {
111
- return this.checkes.indexOf(v) == -1
112
- } else {
113
- return this.checkes.indexOf(v) != -1
114
- }
115
- },
116
- setCheckes(id) {
117
- let index=this.checkes.indexOf(id)
118
- if(index<0){
119
- this.checkes.push(id)
120
- }else{
121
- this.checkes.splice(index,1)
122
- }
123
- },
124
- send(){
125
- if(!this.checkAll && this.checkes.length == 0){
126
- return this.$showMessage('请选择单位')
127
- }
128
- this.showSendModal = true
129
- },
130
- details(row){
131
- this.$emit('showuser' ,row)
132
- },
133
- selfSearch (args) {
134
- if (this.rowdata.id) {
135
- this.checkAll=false
136
- this.checkes=[]
137
- args.condition += `and f_check_book_id =${this.rowdata.id}`
138
- this.model.search(args.condition)
139
- this.addcondata = args.model.f_residential_area ? ` and area.f_residential_area like '%${args.model.f_residential_area}%'`: ''
140
- } else {
141
- this.$showMessage('请选择片区')
142
- }
143
- }
144
- }
145
- }
146
- </script>
1
+ <template>
2
+ <div class="auto select-overspread">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="form-group col-sm-3" >
8
+ <label class="font_normal_body">小区名称</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
10
+ condition="f_residential_area like '%{}%'" @keyup.enter="search()">
11
+ </div>
12
+ <div class="form-group col-sm-2 button-range" >
13
+ <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
14
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.send()" v-el:cba>下发</button>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </criteria>
19
+ <data-grid :model="model" class="table_sy" partial='list' v-ref:grid >
20
+ <template partial='head' >
21
+ <tr>
22
+ <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/>全选</nobr></th>
23
+ <th><nobr>省市区/县</nobr></th>
24
+ <th><nobr>街道/乡镇</nobr></th>
25
+ <th><nobr>小区名称</nobr></th>
26
+ <th><nobr>用户数量</nobr></th>
27
+ <th><nobr>详细地址</nobr></th>
28
+ <th><nobr>小区备注</nobr></th>
29
+ </tr>
30
+ </template>
31
+ <template partial='body' >
32
+ <tr >
33
+ <td style="text-align: center;"><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.id)" @change="$parent.$parent.$parent.setCheckes(row.id)" /></td>
34
+ <td style="text-align:center">{{row.f_pcd}}</td>
35
+ <td style="text-align:center">{{row.f_street}}</td>
36
+ <td style="text-align:center">{{row.f_residential_area}}</td>
37
+ <td style="text-align:center"> <button @click.stop="$parent.$parent.$parent.details(row)" class="btn btn-link"><b>{{row.num?row.num:0}}</b></button></td>
38
+ <td style="text-align:center">{{row.f_area_address}}</td>
39
+ <td style="text-align:center">{{row.f_comments}}</td>
40
+ </tr>
41
+ </template>
42
+ <template partial='foot'></template>
43
+ </data-grid>
44
+ </criteria-paged>
45
+ <modal :show.sync="showSendModal" :backdrop="false" width="90%" height="90%">
46
+ <article slot="modal-body" class="modal-body" style="height: 80vh">
47
+ <check-book-search-user-list v-if="showSendModal" :row="row" :addcondata="addcondata" :bookrowsdata="{bookrows:checkes,checkAll:checkAll}" :needprops="needprops":userlogin="userlogin"></check-book-search-user-list>
48
+ </article>
49
+ <footer slot="modal-footer">
50
+ </footer>
51
+
52
+ </modal>
53
+ </div>
54
+ </template>
55
+
56
+ <script>
57
+ import {HttpResetClass, PagedList} from 'vue-client'
58
+
59
+ export default {
60
+ title: '安检记录列表',
61
+ props: ['row','needprops'],
62
+ data () {
63
+ return {
64
+ rowdata: this.row,
65
+ showSendModal:false,
66
+ checkBookRow:{
67
+ },
68
+ userlogin:{
69
+ id:this.$login.f.id,
70
+ name:this.$login.f.name,
71
+ orgid:this.$login.f.orgid,
72
+ orgstr:this.$login.f.orgs,
73
+ },
74
+ model: new PagedList('api/af-safecheck/sql/getCheckBookArea', 50),
75
+ checkAll:false,
76
+ checkes:[],
77
+ addcondata:''
78
+ }
79
+ },
80
+ ready(){
81
+ console.log(this.row)
82
+ const val = this.row
83
+ if (val) {
84
+ this.checkAll=false
85
+ this.checkes=[]
86
+ this.rowdata = val
87
+ const condition = `f_check_book_id =${val.id}`
88
+ this.model.search(condition)
89
+ }
90
+ },
91
+ watch: {
92
+ 'row' (val) {
93
+ if (val) {
94
+ this.checkAll=false
95
+ this.checkes=[]
96
+ this.rowdata = val
97
+ const condition = `f_check_book_id =${val.id}`
98
+ this.model.search(condition)
99
+ }
100
+ }
101
+ },
102
+ methods: {
103
+ setCheckAll() {
104
+ this.checkAll=this.checkAll?false:true;
105
+ // 全选改变后,清空选中数据
106
+ this.checkes = []
107
+ },
108
+ isChecked(v) {
109
+ // 如果全选,不在的按选中算,否则,在的按选中算
110
+ if (this.checkAll) {
111
+ return this.checkes.indexOf(v) == -1
112
+ } else {
113
+ return this.checkes.indexOf(v) != -1
114
+ }
115
+ },
116
+ setCheckes(id) {
117
+ let index=this.checkes.indexOf(id)
118
+ if(index<0){
119
+ this.checkes.push(id)
120
+ }else{
121
+ this.checkes.splice(index,1)
122
+ }
123
+ },
124
+ send(){
125
+ if(!this.checkAll && this.checkes.length == 0){
126
+ return this.$showMessage('请选择单位')
127
+ }
128
+ this.showSendModal = true
129
+ },
130
+ details(row){
131
+ this.$emit('showuser' ,row)
132
+ },
133
+ selfSearch (args) {
134
+ if (this.rowdata.id) {
135
+ this.checkAll=false
136
+ this.checkes=[]
137
+ args.condition += `and f_check_book_id =${this.rowdata.id}`
138
+ this.model.search(args.condition)
139
+ this.addcondata = args.model.f_residential_area ? ` and area.f_residential_area like '%${args.model.f_residential_area}%'`: ''
140
+ } else {
141
+ this.$showMessage('请选择片区')
142
+ }
143
+ }
144
+ }
145
+ }
146
+ </script>