safecheck-client 4.0.0-88 → 4.0.0-89

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 (242) 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/PlumberAnnual.vue +83 -83
  203. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  204. package/src/components/android/PlumberMonthly.vue +84 -84
  205. package/src/components/android/PostMap.vue +83 -83
  206. package/src/components/android/QueryCheckHistory.vue +122 -122
  207. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  208. package/src/components/android/RepairMain.vue +60 -60
  209. package/src/components/android/Repairman.vue +12 -12
  210. package/src/components/android/StationMaster.vue +12 -12
  211. package/src/components/defects/DefectModal.vue +101 -101
  212. package/src/components/defects/DevicesAndItem.vue +39 -39
  213. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  214. package/src/components/notice/NoticeForm.vue +100 -100
  215. package/src/components/notice/NoticeIssue.vue +20 -20
  216. package/src/components/paper/PicViewer.vue +18 -18
  217. package/src/components/pc/RoleSelectorDep.vue +160 -158
  218. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  219. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  220. package/src/components/phonestate/PostMap.vue +82 -82
  221. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  222. package/src/components/userfile/MeterFile.vue +145 -145
  223. package/src/components/userfile/MeterModify.vue +46 -46
  224. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  225. package/src/filiale/jinhong/pc/CheckBookList.vue +388 -0
  226. package/src/filiale/jinhong/pc/CheckPlanAreaList.vue +528 -511
  227. package/src/filiale/jinhong/pc/PaperList.vue +845 -823
  228. package/src/filiale/jinhong/pc/PlanManage.vue +925 -909
  229. package/src/filiale/jinhong/pc.js +12 -11
  230. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +2 -2
  231. package/src/plugins/LoadData.js +10 -10
  232. package/src/plugins/LoadParams.js +24 -24
  233. package/src/stores/wxconfig.js +10 -10
  234. package/src/utils/getNowDate.js +33 -33
  235. package/test/e2e/custom-assertions/elementCount.js +26 -26
  236. package/test/e2e/nightwatch.conf.js +40 -40
  237. package/test/e2e/runner.js +30 -30
  238. package/test/e2e/specs/test.js +13 -13
  239. package/test/unit/.eslintrc +5 -5
  240. package/test/unit/TestUtil.js +62 -62
  241. package/test/unit/context.html +20 -20
  242. package/test/unit/index.js +13 -13
@@ -1,129 +1,129 @@
1
- <template>
2
- <div style="overflow-x: hidden;">
3
- <validator name='v'>
4
- <form novalidate class="form-horizontal">
5
- <div class="form-group">
6
- <label for="f_card_id" class="col-sm-offset-1 col-sm-1 control-label">卡号:</label>
7
- <div class="col-sm-2">
8
- <input class="form-control" type="text" v-model="model.f_card_id" v-validate:f_card_id='{ required: true }'>
9
- </div>
10
-
11
- <label for="f_meter_no" class="col-sm-1 control-label">表号:</label>
12
- <div class="col-sm-2">
13
- <input class="form-control" type="text" v-model="model.f_meter_no" v-validate:f_meter_no='{ required: true }'>
14
- </div>
15
- <label for="f_meter_brand" class="col-sm-1 control-label">表牌:</label>
16
- <div class="col-sm-2">
17
- <!-- <input class="form-control" type="text" v-model="model.f_meter_brand" > -->
18
- <v-select id="f_meter_brand"
19
- placeholder='请选择'
20
- :value.sync="f_meter_brand"
21
- :options='f_meterbrand'
22
- close-on-select clear-button></v-select>
23
- </div>
24
- </div>
25
-
26
- <div class="form-group">
27
- <label for="f_meter_measurement" class="col-sm-offset-1 col-sm-1 control-label">计量类型:</label>
28
- <div class="col-sm-2">
29
- <v-select id="f_meter_measurement"
30
- placeholder='请选择'
31
- :value.sync="f_meter_measurement"
32
- :options='f_metermeasurement'
33
- close-on-select clear-button></v-select>
34
- </div>
35
- <label for="f_meter_diameter" class="col-sm-1 control-label">表径:</label>
36
- <div class="col-sm-2">
37
- <input class="form-control" type="text" v-model="model.f_meter_diameter" v-validate:f_meter_diameter='{ required: true }'>
38
- </div>
39
- <label for="f_meter_reading" class="col-sm-1 control-label">机表读数:</label>
40
- <div class="col-sm-2">
41
- <input class="form-control" type="text" v-model="model.f_meter_reading" number v-validate:f_meter_reading='{ required: true }'>
42
- </div>
43
- </div>
44
-
45
- <div class="form-group">
46
- <label for="f_meter_remain" class="col-sm-offset-1 col-sm-1 control-label">剩余气量:</label>
47
- <div class="col-sm-2">
48
- <input class="form-control" type="text" v-model="model.f_meter_remain" number v-validate:f_meter_remain='{ required: true }'>
49
- </div>
50
- <label for="f_meter_total" class="col-sm-1 control-label">购气总量:</label>
51
- <div class="col-sm-2">
52
- <input class="form-control" type="text" v-model="model.f_meter_total" v-validate:f_meter_total='{ required: true }'>
53
- </div>
54
-
55
- <label for="f_meter_accumulation" class="col-sm-1 control-label">累计用气量:</label>
56
- <div class="col-sm-2">
57
- <input class="form-control" type="text" v-model="model.f_meter_accumulation" v-validate:f_meter_accumulation='{ required: true }'>
58
- </div>
59
- </div>
60
-
61
- <div class="form-group">
62
- <label for="f_remark" class="col-sm-offset-1 col-sm-1 control-label">备注:</label>
63
- <div class="col-sm-2">
64
- <input class="form-control" type="text" v-model="model.f_remark">
65
- </div>
66
- </div>
67
- </form>
68
- <div style="text-align:center;height:auto;">
69
- <button class="btn btn-primary" :disabled='!($v.valid)' @click="confirm()" style="width:100px;margin-left:20px;">
70
- <span class="glyphicon glyphicon-floppy-disk"></span>保存
71
- </button>
72
- <button class="btn btn-default" @click='cancel()' style="width:100px;margin-left:20px;">
73
- <span class="glyphicon glyphicon-log-out"></span>取消
74
- </button>
75
- </div>
76
- </validator>
77
- </div>
78
- </template>
79
-
80
- <script>
81
- import { PagedList } from 'vue-client'
82
- import Vue from 'vue'
83
- import * as Util from '../Util'
84
- import AppData from '../../stores/AppData'
85
-
86
- export default {
87
- title: '表档案修改',
88
- props: ['model'],
89
- data () {
90
- return {
91
- f_meter_brand: [''],
92
- f_meterbrand: this.$appdata.getParam('燃气表品牌'),
93
- f_meter_measurement: [''],
94
- f_metermeasurement: this.$appdata.getParam('计量类型'),
95
- rowCopy: {}
96
- }
97
- },
98
- ready () {
99
- if(this.model.f_meter_brand)
100
- this.f_meter_brand = [this.model.f_meter_brand]
101
- if(this.model.f_meter_measurement)
102
- this.f_meter_measurement = [this.model.f_meter_measurement]
103
- this.rowCopy = JSON.stringify(this.model)
104
- },
105
- methods: {
106
- cancel () {
107
- let tmp = JSON.parse(this.rowCopy)
108
- for(let prop in this.model)
109
- if(tmp.hasOwnProperty(prop)) {
110
- this.model[prop] = tmp[prop]
111
- }
112
- this.$back()
113
- },
114
- confirm () {
115
- if (!this.f_meter_brand[0]) {
116
- window.alert('请选择燃气表品牌!')
117
- return
118
- }
119
- if (!this.f_meter_measurement[0]) {
120
- window.alert('请选择计量类型!')
121
- return
122
- }
123
- this.model.f_meter_brand = this.f_meter_brand[0]
124
- this.model.f_meter_measurement = this.f_meter_measurement[0]
125
- this.$back()
126
- }
127
- }
128
- }
129
- </script>
1
+ <template>
2
+ <div style="overflow-x: hidden;">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="form-group">
6
+ <label for="f_card_id" class="col-sm-offset-1 col-sm-1 control-label">卡号:</label>
7
+ <div class="col-sm-2">
8
+ <input class="form-control" type="text" v-model="model.f_card_id" v-validate:f_card_id='{ required: true }'>
9
+ </div>
10
+
11
+ <label for="f_meter_no" class="col-sm-1 control-label">表号:</label>
12
+ <div class="col-sm-2">
13
+ <input class="form-control" type="text" v-model="model.f_meter_no" v-validate:f_meter_no='{ required: true }'>
14
+ </div>
15
+ <label for="f_meter_brand" class="col-sm-1 control-label">表牌:</label>
16
+ <div class="col-sm-2">
17
+ <!-- <input class="form-control" type="text" v-model="model.f_meter_brand" > -->
18
+ <v-select id="f_meter_brand"
19
+ placeholder='请选择'
20
+ :value.sync="f_meter_brand"
21
+ :options='f_meterbrand'
22
+ close-on-select clear-button></v-select>
23
+ </div>
24
+ </div>
25
+
26
+ <div class="form-group">
27
+ <label for="f_meter_measurement" class="col-sm-offset-1 col-sm-1 control-label">计量类型:</label>
28
+ <div class="col-sm-2">
29
+ <v-select id="f_meter_measurement"
30
+ placeholder='请选择'
31
+ :value.sync="f_meter_measurement"
32
+ :options='f_metermeasurement'
33
+ close-on-select clear-button></v-select>
34
+ </div>
35
+ <label for="f_meter_diameter" class="col-sm-1 control-label">表径:</label>
36
+ <div class="col-sm-2">
37
+ <input class="form-control" type="text" v-model="model.f_meter_diameter" v-validate:f_meter_diameter='{ required: true }'>
38
+ </div>
39
+ <label for="f_meter_reading" class="col-sm-1 control-label">机表读数:</label>
40
+ <div class="col-sm-2">
41
+ <input class="form-control" type="text" v-model="model.f_meter_reading" number v-validate:f_meter_reading='{ required: true }'>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="form-group">
46
+ <label for="f_meter_remain" class="col-sm-offset-1 col-sm-1 control-label">剩余气量:</label>
47
+ <div class="col-sm-2">
48
+ <input class="form-control" type="text" v-model="model.f_meter_remain" number v-validate:f_meter_remain='{ required: true }'>
49
+ </div>
50
+ <label for="f_meter_total" class="col-sm-1 control-label">购气总量:</label>
51
+ <div class="col-sm-2">
52
+ <input class="form-control" type="text" v-model="model.f_meter_total" v-validate:f_meter_total='{ required: true }'>
53
+ </div>
54
+
55
+ <label for="f_meter_accumulation" class="col-sm-1 control-label">累计用气量:</label>
56
+ <div class="col-sm-2">
57
+ <input class="form-control" type="text" v-model="model.f_meter_accumulation" v-validate:f_meter_accumulation='{ required: true }'>
58
+ </div>
59
+ </div>
60
+
61
+ <div class="form-group">
62
+ <label for="f_remark" class="col-sm-offset-1 col-sm-1 control-label">备注:</label>
63
+ <div class="col-sm-2">
64
+ <input class="form-control" type="text" v-model="model.f_remark">
65
+ </div>
66
+ </div>
67
+ </form>
68
+ <div style="text-align:center;height:auto;">
69
+ <button class="btn btn-primary" :disabled='!($v.valid)' @click="confirm()" style="width:100px;margin-left:20px;">
70
+ <span class="glyphicon glyphicon-floppy-disk"></span>保存
71
+ </button>
72
+ <button class="btn btn-default" @click='cancel()' style="width:100px;margin-left:20px;">
73
+ <span class="glyphicon glyphicon-log-out"></span>取消
74
+ </button>
75
+ </div>
76
+ </validator>
77
+ </div>
78
+ </template>
79
+
80
+ <script>
81
+ import { PagedList } from 'vue-client'
82
+ import Vue from 'vue'
83
+ import * as Util from '../Util'
84
+ import AppData from '../../stores/AppData'
85
+
86
+ export default {
87
+ title: '表档案修改',
88
+ props: ['model'],
89
+ data () {
90
+ return {
91
+ f_meter_brand: [''],
92
+ f_meterbrand: this.$appdata.getParam('燃气表品牌'),
93
+ f_meter_measurement: [''],
94
+ f_metermeasurement: this.$appdata.getParam('计量类型'),
95
+ rowCopy: {}
96
+ }
97
+ },
98
+ ready () {
99
+ if(this.model.f_meter_brand)
100
+ this.f_meter_brand = [this.model.f_meter_brand]
101
+ if(this.model.f_meter_measurement)
102
+ this.f_meter_measurement = [this.model.f_meter_measurement]
103
+ this.rowCopy = JSON.stringify(this.model)
104
+ },
105
+ methods: {
106
+ cancel () {
107
+ let tmp = JSON.parse(this.rowCopy)
108
+ for(let prop in this.model)
109
+ if(tmp.hasOwnProperty(prop)) {
110
+ this.model[prop] = tmp[prop]
111
+ }
112
+ this.$back()
113
+ },
114
+ confirm () {
115
+ if (!this.f_meter_brand[0]) {
116
+ window.alert('请选择燃气表品牌!')
117
+ return
118
+ }
119
+ if (!this.f_meter_measurement[0]) {
120
+ window.alert('请选择计量类型!')
121
+ return
122
+ }
123
+ this.model.f_meter_brand = this.f_meter_brand[0]
124
+ this.model.f_meter_measurement = this.f_meter_measurement[0]
125
+ this.$back()
126
+ }
127
+ }
128
+ }
129
+ </script>
@@ -0,0 +1,388 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row" v-show="!$parent.$parent.$parent.showItemAll">
7
+ <div :class="$parent.$parent.style2" style="margin: 0px">
8
+ <role-selector-safe-dep
9
+ role-name="安检员"
10
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
11
+ @re-res="$parent.$parent.getRes"
12
+ @alluser="$parent.$parent.getchecker"
13
+ :value.sync="model.f_checker_id"
14
+ v-model="model.f_checker_id"
15
+ :value-multiple="true"
16
+ condition=" f_checker_name in {}">
17
+ >
18
+ </role-selector-safe-dep>
19
+ </div>
20
+ <div :class="$parent.$parent.style">
21
+ <label class="font_normal_body">安检册名称</label>
22
+ <v-select :value.sync="model.f_check_book_id" v-model='model.f_check_book_id'
23
+ :value-single="true" style="width: 60%"
24
+ class="select_list select"
25
+ :options='$parent.$parent.checkBooks' placeholder='安检册名称'
26
+ close-on-select
27
+ condition="tcb.id ='{}'"></v-select>
28
+ </div>
29
+ <!-- <div :class="$parent.$parent.style">-->
30
+ <!-- <label class="font_normal_body">表册类型</label>-->
31
+ <!-- <v-select :value.sync="model.f_check_book_type" v-model='model.f_check_book_type'-->
32
+ <!-- :value-single="true" style="width: 60%"-->
33
+ <!-- class="select_list select"-->
34
+ <!-- :options='$parent.$parent.bookTypes' placeholder='表册类型'-->
35
+ <!-- close-on-select-->
36
+ <!-- condition="tcb.f_check_book_type ='{}'"></v-select>-->
37
+ <!-- </div>-->
38
+ <!-- <div :class="$parent.$parent.style">-->
39
+ <!-- <label class="font_normal_body">用户类型</label>-->
40
+ <!-- <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'-->
41
+ <!-- :value-single="true" style="width: 60%"-->
42
+ <!-- class="select_list select"-->
43
+ <!-- :options='$parent.$parent.userTypes' placeholder='用户类型'-->
44
+ <!-- close-on-select-->
45
+ <!-- condition="tcb.f_user_type ='{}'"></v-select>-->
46
+ <!-- </div>-->
47
+ <div :class="$parent.$parent.style" style="width: auto;margin-top:8px;float: right">
48
+ <button type="button" class="button_search button_spacing" @click="search()">查询</button>
49
+ <button type="button" class="button_new button_spacing" @click="$parent.$parent.add()">新增安检册</button>
50
+ <button type="button" class="button_new button_spacing" @click="$parent.$parent.showModal = true">安检册用户管理</button>
51
+ <div style="float: right" class="button_spacing"
52
+ v-show="$parent.$parent.$parent.showItem ||$parent.$parent.$parent.showItemUser"
53
+ :class="{'button_shrink_left':$parent.$parent.$parent.showItemAll,'button_shrink_right':!$parent.$parent.$parent.showItemAll}"
54
+ @click="($parent.$parent.$parent.showItem =false) || ($parent.$parent.$parent.showItemUser =false)"></div>
55
+ </div>
56
+
57
+
58
+ </div>
59
+
60
+
61
+ <div class="row" v-show="$parent.$parent.$parent.showItemAll">
62
+ <div :class="$parent.$parent.style2" style="margin: 0px">
63
+ <role-selector-safe-dep
64
+ role-name="安检员"
65
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
66
+ @re-res="$parent.$parent.getRes"
67
+ @alluser="$parent.$parent.getchecker"
68
+ :value.sync="model.f_checker_id"
69
+ v-model="model.f_checker_id"
70
+ :value-multiple="true"
71
+ condition=" f_checker_name in {}">
72
+ </role-selector-safe-dep>
73
+ </div>
74
+
75
+ <div :class="$parent.$parent.style">
76
+ <label class="font_normal_body">安检册名</label>
77
+ <v-select :value.sync="model.f_check_book_id" v-model='model.f_check_book_id'
78
+ :value-single="true" style="width: 60%"
79
+ class="select_list select"
80
+ :options='$parent.$parent.checkBooks' placeholder='安检册名称'
81
+ close-on-select
82
+ condition="tcb.id ='{}'"></v-select>
83
+ </div>
84
+ <div :class="$parent.$parent.style" style="width: auto;margin-top:8px;float: right">
85
+ <button type="button" class="button_search button_spacing" @click="search()">查询</button>
86
+ <button type="button" class="button_new button_spacing" @click="$parent.$parent.add()">新增安检册</button>
87
+ <button type="button" class="button_new button_spacing" @click="$parent.$parent.showModal = true">安检册用户管理</button>
88
+ <div style="float: right" class="button_spacing"
89
+ v-show="$parent.$parent.$parent.showItem ||$parent.$parent.$parent.showItemUser"
90
+ :class="{'button_shrink_left':$parent.$parent.$parent.showItemAll,'button_shrink_right':!$parent.$parent.$parent.showItemAll}"
91
+ @click="($parent.$parent.$parent.showItem =false) || ($parent.$parent.$parent.showItemUser =false)"></div>
92
+ <!-- <div style="float: right" class="button_spacing"-->
93
+ <!-- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"-->
94
+ <!-- @click="$parent.$parent.hidden()">-->
95
+ <!-- </div>-->
96
+ </div>
97
+
98
+ </div>
99
+
100
+ </div>
101
+ </criteria>
102
+ <data-grid :model="model" partial="list" class="list_area table_sy" v-ref:grid>
103
+ <template partial='head'>
104
+ <tr>
105
+ <th>
106
+ <nobr>所属安检员</nobr>
107
+ </th>
108
+ <th>
109
+ <nobr>安检册名称</nobr>
110
+ </th>
111
+ <!-- <th>-->
112
+ <!-- <nobr>安检册类型</nobr>-->
113
+ <!-- </th>-->
114
+ <th>
115
+ <nobr>用户类型</nobr>
116
+ </th>
117
+ <th>
118
+ <nobr>创建日期</nobr>
119
+ </th>
120
+ <th>
121
+ <nobr>创建人</nobr>
122
+ </th>
123
+ <th>
124
+ <nobr>用户数量</nobr>
125
+ </th>
126
+ <th>
127
+ <nobr>已下发</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>未下发</nobr>
131
+ </th>
132
+ <!-- <th>
133
+ <nobr>已检</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>未检</nobr>
137
+ </th>-->
138
+ <!-- <th v-show="$parent.$parent.$parent.showCaoZuo">-->
139
+ <!-- <nobr>操作</nobr>-->
140
+ <!-- </th>-->
141
+ </tr>
142
+ </template>
143
+ <template partial='body'>
144
+ <td style="text-align: center;">{{ row.f_checker_name }}</td>
145
+ <td style="text-align: center;">{{ row.f_check_book_name }}</td>
146
+ <!-- <td style="text-align: center;">{{ row.f_check_book_type }}</td>-->
147
+ <td style="text-align: center;">{{ row.f_user_type }}</td>
148
+ <td style="text-align: center;">{{ row.f_create_date }}</td>
149
+ <td style="text-align: center;">{{ row.f_create_person }}</td>
150
+ <td style="text-align: center;"><button @click.stop="$parent.$parent.$parent.details(row)" class="btn btn-link"><b>{{row.num}}</b></button></td>
151
+ <td style="text-align: center;">{{ row.xiafa }}</td>
152
+ <td style="text-align: center;">{{ row.f_user_type =='民用'?row.num-row.xiafa:row.num4-row.xiafa }}</td>
153
+ <!-- <td style="text-align: center;">{{ row.yijian }}</td>
154
+ <td style="text-align: center;">{{ row.weijian }}</td>-->
155
+ <!-- <td v-show="row.f_check_book_type!='小区'" style="text-align: center;"><button class="button_spacing button_search-1" @click.stop='$parent.$parent.$parent.send(row)'>下发</button></td>-->
156
+ </template>
157
+ </data-grid>
158
+ </criteria-paged>
159
+ <modal :show.sync="showModal" :backdrop="false" id="checkbookEntryShow">
160
+ <article slot="modal-body" class="modal-body">
161
+ <check-book-entry v-if="showModal" @select-changed="selectedEntry" :showtype="showtype"></check-book-entry>
162
+ </article>
163
+ <footer slot="modal-footer">
164
+ </footer>
165
+
166
+ </modal>
167
+ <modal :show.sync="showSendModal" :backdrop="false" width="90%" height="90%">
168
+ <article slot="modal-body" class="modal-body" style="height: 80vh">
169
+ <check-book-search-user-list v-if="showSendModal" :row="checkBookRow" :bookrow="checkBookRow" :needprops="needprops":userlogin="userlogin"></check-book-search-user-list>
170
+ </article>
171
+ <footer slot="modal-footer">
172
+ </footer>
173
+
174
+ </modal>
175
+ </div>
176
+ </template>
177
+
178
+ <script>
179
+ import {PagedList} from 'vue-client'
180
+ import {HttpResetClass} from 'vue-client'
181
+ import bus from '../../../bus'
182
+ export default {
183
+ title: '用户安检情况',
184
+ data () {
185
+ return {
186
+ checker_name:'',
187
+ showSendModal:false,
188
+ searchData: {
189
+ condition: '1=1'
190
+ },
191
+ showCaoZuo:false,
192
+ userlogin:{
193
+ id:this.$login.f.id,
194
+ name:this.$login.f.name,
195
+ orgid:this.$login.f.orgid,
196
+ orgstr:this.$login.f.orgs,
197
+ },
198
+ checkBooks:[],
199
+ bookTypes: [{label: '全部', value: ''}, {label: '用户', value: '用户'}, {label: '小区', value: '小区'}],
200
+ userTypes: [{label: '全部', value: ''}, {label: '民用', value: '民用'}, {label: '非民用', value: '非民用'}],
201
+ aroundUnit: [{label: '年', value: '年'}, {label: '月', value: '月'}, {label: '日', value: '日'}],
202
+ showModal:false,
203
+ excelHeaders: {
204
+
205
+ 'f_userinfo_code': '用户编号',
206
+ 'f_user_name': '用户名称',
207
+ 'f_user_phone': '用户电话',
208
+ 'f_meternumber': '用户表号',
209
+ 'f_user_type': '用户类型',
210
+ 'f_last_checker': '安检员',
211
+ 'f_residential_area': '小区名称',
212
+ 'f_address': '地址',
213
+ 'f_last_check_date': '安检日期',
214
+ 'f_last_check_state': '安检状态',
215
+ 'f_last_check_result': '安检结果'
216
+ },
217
+ model: new PagedList('api/af-safecheck/sql/QueryCheckBook', 20),
218
+ checkBookRow:{},
219
+ checkBook :{
220
+ f_check_book_name: '',
221
+ f_run_date: '',
222
+ f_around_time: '',
223
+ f_around_unit: '',
224
+ f_create_date: '',
225
+ f_create_person: '',
226
+ f_orgid: '',
227
+ f_checker_name: ''
228
+ }
229
+ }
230
+ },
231
+ props: {
232
+ style: {
233
+ type: String,
234
+ default: 'col-sm-2 form-group'
235
+ },
236
+ style2: {
237
+ type: String,
238
+ default: 'col-sm-4 form-group'
239
+ },
240
+ needprops:{
241
+ type: Object,
242
+ default:{}
243
+ },
244
+ showtype:{
245
+ type: String
246
+ }
247
+ },
248
+ ready () {
249
+ bus.$on('fresh-main',()=>{
250
+ console.log("进入方法")
251
+ this.$refs.paged.$refs.criteria.search()
252
+ })
253
+ this.freshCheckBook()
254
+ },
255
+ beforeDestroy() {
256
+ //tag
257
+ bus.$off('fresh-main')
258
+ },
259
+ methods: {
260
+ getchecker(val){
261
+ this.$refs.paged.$refs.criteria.model.f_checker_id = ''
262
+ if(val && val.length > 0){
263
+ this.checker_name = ''
264
+ val.forEach(user => {
265
+ this.checker_name += `'${user.name}',`
266
+ })
267
+ this.checker_name = this.checker_name.slice(0,this.checker_name.length-1)
268
+ }else{
269
+ this.checker_name = ''
270
+ }
271
+ },
272
+
273
+ send(row){
274
+ console.log(" ",row)
275
+ this.checkBookRow = row
276
+ this.showSendModal = true
277
+ },
278
+ freshCheckBook () {
279
+ this.checkBooks = []
280
+ new HttpResetClass().load('POST', `/api/af-safecheck/sql/safe_singleTable_OrderBy?pageNo=1&pageSize=9999999`, {
281
+ data: {
282
+ items: 'id,f_check_book_name',
283
+ tablename: 't_check_book',
284
+ condition: this.$refs.paged.$refs.criteria.model.f_orgid?`f_orgid in ${this.$refs.paged.$refs.criteria.model.f_orgid} and f_user_type ='${this.showtype}' `:`f_user_type ='${this.showtype}'`,
285
+ orderitem: 'id desc'
286
+ }
287
+ }, {resolveMsg: null, rejectMsg: null}).then(res => {
288
+ this.checkBooks.push({label: '全部', value: ''})
289
+ res.data.forEach(ress => {
290
+ this.checkBooks.push({
291
+ label: ress.f_check_book_name,
292
+ value: ress.id
293
+ })
294
+ })
295
+ })
296
+ },
297
+ selectedEntry(){
298
+ console.log("666666666666666666")
299
+ },
300
+ details(row){
301
+ this.$emit('showdetails' ,row)
302
+ },
303
+ add(){
304
+ this.$emit('addbook')
305
+ },
306
+ ok (){
307
+ //tag
308
+ let http = new HttpResetClass()
309
+ http.load('POST', 'api/af-safecheck/logic/safeEntity', {data:{tableName:'t_check_book',entityData:this.checkBook}},
310
+ {resolveMsg: '更新安检册信息成功', rejectMsg: '保存安检册信息成功'}).then(res=>{
311
+ if (res.data.code===200){
312
+ this.$showMessage('修改成功')
313
+ this.showModal = false
314
+ this.checkBook= {}
315
+ }
316
+ })
317
+ },
318
+ cancel () {
319
+ this.showModal = false
320
+ this.checkBook= {}
321
+ },
322
+ updateCheckBook(val){
323
+ this.checkBook=val
324
+ this.showModal = true
325
+ },
326
+ search (args) {
327
+ // //tag
328
+ // //tag
329
+ if(this.checker_name){
330
+ args.condition += ` and f_checker_name in (${this.checker_name}) `
331
+ }
332
+ this.$parent.showItem = false
333
+ this.$parent.showItemUser = false
334
+ args.condition += ` and f_orgid in ('${this.$login.f.orgid}')`
335
+ args.condition += ` and tcb.f_user_type ='${this.showtype}' `
336
+ return this.model.search(args.condition, args.model)
337
+ },
338
+ getRes (obj) {
339
+ // this.model.f_filialeids = this.$login.convertToIn(obj.resids)
340
+ },
341
+ async deleteCheckBook (val) {
342
+ try {
343
+ //tag
344
+ let http = new HttpResetClass()
345
+ let upAddress = `update t_user_address set f_check_book_id = null where f_check_book_id = '${val.id}'`
346
+ let delCheckBook= `delete from t_check_book where id ='${val.id}'`
347
+ await http.load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: upAddress}},
348
+ {resolveMsg: null, rejectMsg: '删除安检册失败'})
349
+ await http.load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: delCheckBook}},
350
+ {resolveMsg: null, rejectMsg: '删除安检册失败'})
351
+ this.$showMessage('删除成功')
352
+ this.$refs.paged.$refs.criteria.search()
353
+ }catch (e) {
354
+ this.$showMessage('删除失败',e)
355
+ }
356
+ }
357
+ },
358
+
359
+ watch: {
360
+ 'model.rows'(val){
361
+ console.log("997997",val)
362
+ this.showCaoZuo = val.filter(item=>item.f_check_book_type!='小区').length>0
363
+ }
364
+ },
365
+ computed: {
366
+ selected () {
367
+ return this.$refs.paged.$refs.grid.selected
368
+ }
369
+ }
370
+ }
371
+ </script>
372
+ <style scoped>
373
+ .newcolor {
374
+ color: red;
375
+ }
376
+
377
+ .table th {
378
+ background-color: #f2f6fa;
379
+ color: black;
380
+ }
381
+ </style>
382
+ <style lang="less">
383
+ #checkbookEntryShow {
384
+ .modal-dialog {
385
+ width: 80%;
386
+ }
387
+ }
388
+ </style>