safecheck-client 4.0.2-64 → 4.0.2-65

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 (258) 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 +258 -258
  215. package/src/components/android/week/FirstWeekCheck.vue +301 -301
  216. package/src/components/android/week/StepHeaderBar.vue +485 -485
  217. package/src/components/android/week/WeekCheck.vue +267 -267
  218. package/src/components/android/week/WeekCheckPaper.vue +274 -274
  219. package/src/components/android/week/WeekCheckPlan.vue +145 -145
  220. package/src/components/android/week/WeekCheckUserInfo.vue +99 -99
  221. package/src/components/defects/DefectModal.vue +101 -101
  222. package/src/components/defects/DevicesAndItem.vue +39 -39
  223. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  224. package/src/components/notice/NoticeForm.vue +100 -100
  225. package/src/components/notice/NoticeIssue.vue +20 -20
  226. package/src/components/paper/PicViewer.vue +18 -18
  227. package/src/components/pc/CheckBookArea.vue +146 -146
  228. package/src/components/pc/CheckBookCompany.vue +144 -144
  229. package/src/components/pc/CheckBookDetails.vue +161 -161
  230. package/src/components/pc/CheckBookEntry.vue +60 -60
  231. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  232. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  233. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  234. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  235. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  236. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  237. package/src/components/phonestate/PostMap.vue +82 -82
  238. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  239. package/src/components/userfile/MeterFile.vue +145 -145
  240. package/src/components/userfile/MeterModify.vue +46 -46
  241. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  242. package/src/filiale/jinhong/pc/PlanManage.vue +933 -927
  243. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  244. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  245. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1343
  246. package/src/filiale/meihekou/android.js +22 -22
  247. package/src/plugins/LoadData.js +10 -10
  248. package/src/plugins/LoadParams.js +24 -24
  249. package/src/stores/wxconfig.js +10 -10
  250. package/src/utils/getNowDate.js +33 -33
  251. package/test/e2e/custom-assertions/elementCount.js +26 -26
  252. package/test/e2e/nightwatch.conf.js +40 -40
  253. package/test/e2e/runner.js +30 -30
  254. package/test/e2e/specs/test.js +13 -13
  255. package/test/unit/.eslintrc +5 -5
  256. package/test/unit/TestUtil.js +62 -62
  257. package/test/unit/context.html +20 -20
  258. package/test/unit/index.js +13 -13
@@ -1,301 +1,301 @@
1
- <template>
2
- <work-busy :is-busy="loading"></work-busy>
3
- <div class="auto">
4
- <div v-show="!showcheck">
5
- <criteria-paged :model="model" v-ref:paged>
6
- <criteria partial='criteria' @condition-changed='$parent.selfsearch' v-ref:cri>
7
- <div partial>
8
- <form>
9
- <div class="row app-row">
10
- <div class="col-xs-4">
11
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
12
- <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
13
- </div>
14
- <div class="col-xs-8" >
15
- <input class="search_input input-font"
16
- v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
17
- <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
18
- </div>
19
- </div>
20
- <div class="row text-center" style="margin-top: 20px;">
21
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
22
- <button v-if="$parent.$parent.showbutton && $parent.$parent.model.rows.length == 0" type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="$parent.$parent.showModal">执行首检</button>
23
- </div>
24
- </form>
25
- </div>
26
- </criteria>
27
-
28
- <list :model="model" partial='list'>
29
- <div partial>
30
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
31
- <div class="panel" style="padding: 10px 10px 5px 10px;">
32
- <div class="panel-body panel-self">
33
- <div class="row">
34
- <p class="panel-title col-xs-4 text-left font">表号</p>
35
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
36
- </div>
37
- <div class="row">
38
- <p class="panel-title col-xs-4 text-left font">首检日期</p>
39
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_first_inspection_date }}</p>
40
- </div>
41
- <div class="row">
42
- <p class="panel-title col-xs-4 text-left font">首检机构</p>
43
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_inspection_agency }}</p>
44
- </div>
45
- <div class="row">
46
- <p class="panel-title col-xs-4 text-left font">气表品牌</p>
47
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_brand }}</p>
48
- </div>
49
- <div class="row">
50
- <p class="panel-title col-xs-4 text-left font">气表型号</p>
51
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_style }}</p>
52
- </div>
53
- </div>
54
- </div>
55
-
56
- </div>
57
- </div>
58
- </list>
59
- </criteria-paged>
60
- </div>
61
- <div v-show="showcheck">
62
- <check-rsult-simple :items="weekCheck" :itemname="itemname"></check-rsult-simple>
63
- <div class="row text-center" style="margin-top: 20px;">
64
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="colse">取消</button>
65
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="uploadCheckPaper">提交</button>
66
- </div>
67
- </div>
68
- </div>
69
- </template>
70
-
71
- <script>
72
- import {HttpResetClass, PagedList} from 'vue-client'
73
- import Vue from 'vue'
74
- import * as Util from '../../Util'
75
-
76
- export default {
77
- title: '首检',
78
- data () {
79
- let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getFirstWeekTable`, 20,
80
- {
81
- f_orgids:'this.f_orgids'
82
- })
83
- model.f_orgids = Vue.user.orgid
84
- return {
85
- model: model,
86
- weekCheck:[],
87
- useritem:{},
88
- weekConfig:{},
89
- showcheck:false,
90
- loading: false,
91
- showbutton:false,
92
- itemname:''
93
- }
94
- },
95
- ready () {
96
- this.getweekconfig()
97
- },
98
- computed: {
99
- },
100
- methods:{
101
- getweekconfig(){
102
- const http = new HttpResetClass()
103
- http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeByType`, {f_safecheck_type: '首检' }).then(res=>{
104
- if (res.data && res.data.length > 0 ){
105
- this.weekConfig = res.data[0]
106
- }
107
- })
108
- },
109
- getdetails(){
110
- const json = JSON.parse(this.weekConfig.f_json)
111
- this.weekCheck = []
112
- if (json && json.length > 0){
113
- for (let i = 0; i < json.length; i++){
114
- if (json[i].itemname === '首检'){
115
- json[i].items.forEach(row => {
116
- this.weekCheck.push({
117
- f_item_name: row.itemname,
118
- f_item_value: row.f_item_value || '',
119
- options:row.options,
120
- type: row.type,
121
- isshow:true,
122
- images: row.images|| [],
123
- multiple: row.multiple?row.multiple:false,
124
- readonly:false,
125
- state:'未检'
126
- })
127
- })
128
- }
129
- }
130
- }
131
- },
132
- scan(){
133
- HostApp.__this__=this,
134
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
135
- },
136
- getCode(){
137
- let datapa = HostApp.getCode().data;
138
- this.$refs.paged.$refs.cri.model.f_meternumber=datapa
139
- },
140
- inspect (row) {
141
- this.getdetails()
142
- this.useritem = row
143
- this.weekCheck.forEach(item=>{
144
- if (item.f_item_name === '表号' && !Util.isEmpty(row.f_meternumber)){
145
- item.f_item_value = row.f_meternumber
146
- item.readonly = true
147
- }
148
- if (item.f_item_name === '气表品牌' && !Util.isEmpty(row.f_meter_brand)){
149
- item.f_item_value = row.f_meter_brand
150
- item.readonly = true
151
- }
152
- if (item.f_item_name === '气表型号' && !Util.isEmpty(row.f_meter_style)){
153
- item.f_item_value = row.f_meter_style
154
- item.readonly = true
155
- }
156
- })
157
- this.itemname = '首检'
158
- this.showcheck = true
159
- },
160
- showModal(){
161
- this.getdetails()
162
- this.itemname = '首检'
163
- this.showcheck = true
164
- },
165
- colse(){
166
- this.getdetails()
167
- this.itemname = ''
168
- this.$refs.paged.$refs.cri.search()
169
- this.showcheck = false
170
- this.loading = false
171
- this.showbutton = false
172
- },
173
- async uploadCheckPaperPics () {
174
- let tableImages = []
175
- this.weekCheck.forEach((item) => {
176
- if (item.type == 'picture'){
177
- item.images.forEach(image=>{
178
- image.filename = image.f_path.substring(image.f_path.lastIndexOf('/')+1)
179
- tableImages.push({
180
- path: image.f_path,
181
- })
182
- })
183
- }
184
- })
185
- HostApp.__this__ = this
186
- HostApp.logicWithHint({
187
- 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
188
- 'data': {tableImages:tableImages}, 'backresult': 1
189
- })
190
- },
191
- async uploadCheckPaper(){
192
- this.loading = true
193
- await this.uploadCheckPaperPics()
194
- const json = JSON.parse(this.weekConfig.f_json)
195
- json.forEach(res=>{
196
- if (res.itemname === '首检'){
197
- res.items = this.weekCheck
198
- }
199
- })
200
- const http = new HttpResetClass()
201
- const weekCheckpaper = {
202
- f_meter_brand: this.useritem.f_meter_brand,
203
- f_meter_style: this.useritem.f_meter_style,
204
- f_meternumber: this.useritem.f_meternumber,
205
- f_device_address: this.useritem.f_device_address,
206
- f_address: this.useritem.f_device_address,
207
- f_operatorid: Vue.user.id,
208
- f_operator: Vue.user.name,
209
- f_complete: '已完成',
210
- f_entry_status: '正常',
211
- f_safe_type: '首检',
212
- f_state: '已检',
213
- f_safe_content: json,
214
- f_safecheck_type_id: this.weekConfig.f_security_check_type_id,
215
- f_safe_type_version: this.weekConfig.version,
216
- f_upload_date: Util.toStandardTimeString(),
217
- f_checker_id: Vue.user.id,
218
- f_checker_name: Vue.user.name,
219
- f_filialeid: Vue.user.orgid,
220
- f_orgid: Vue.user.orgid,
221
- f_orgname: Vue.user.orgs,
222
- }
223
- this.weekCheck.forEach(item => {
224
- if (item.f_item_name === '表号'){
225
- weekCheckpaper.f_meternumber = item.f_item_value
226
- }
227
- if (item.f_item_name === '气表品牌'){
228
- weekCheckpaper.f_meter_brand = item.f_item_value
229
- }
230
- if (item.f_item_name === '气表型号'){
231
- weekCheckpaper.f_meter_style = item.f_item_value
232
- }
233
- if (item.f_item_name === '检定机构'){
234
- weekCheckpaper.f_last_inspection_agency = item.f_item_value
235
- }
236
- if (item.f_item_name === '检定时间'){
237
- if (item.f_item_value && item.f_item_value > Util.toStandardTimeString()){
238
- this.$showMessage('只能选择当前或者之前的时间!')
239
- throw '只能选择当前或者之前的时间!'
240
- return
241
- }
242
- weekCheckpaper.f_complete_date = item.f_item_value
243
- }
244
- if (item.f_item_name === '检定结果'){
245
- weekCheckpaper.f_last_inspection_result = item.f_item_value
246
- }
247
- })
248
- http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, weekCheckpaper, {resolveMsg: '首检成功!', rejectMsg: '首检失败,请联系管理员检查!'}).then(res=>{
249
- if (res.data){
250
- this.colse()
251
- }
252
- })
253
- this.loading = false
254
- },
255
- selfsearch(args){
256
- if (Util.isEmpty(args.model.f_meternumber)){
257
- this.$showMessage("请输入表号查询!")
258
- return
259
- }
260
- this.showbutton = true
261
- this.model.search(args.condition, args.model)
262
- }
263
- }
264
- }
265
- </script>
266
- <style scoped>
267
- .app-row {
268
- background-color: white;
269
- padding: 10px 10px 0 10px;
270
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
271
- }
272
- .search_input {
273
- border: 0;
274
- outline: none;
275
- }
276
- .font{
277
- font: 15px PingFang-SC-Medium;
278
- color: #666666;
279
- }
280
- .input-font{
281
- font: 15px PingFang-SC-Medium;
282
- color: #333333;
283
- }
284
- .btn-font{
285
- font:600 16px PingFang-SC-Bold;
286
- color: #499EDF;
287
- }
288
- .btn-color{
289
- background-color: #FFFFFF;
290
- border-radius: 10px ;
291
- border: 1px solid #499EDF;
292
- }
293
- .app-text {
294
- font-size: 12px;
295
- }
296
- .panel-self{
297
- border-radius: 10px;
298
- border:1px solid #499EDF;
299
- background-color: #F8F8F8;
300
- }
301
- </style>
1
+ <template>
2
+ <work-busy :is-busy="loading"></work-busy>
3
+ <div class="auto">
4
+ <div v-show="!showcheck">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfsearch' v-ref:cri>
7
+ <div partial>
8
+ <form>
9
+ <div class="row app-row">
10
+ <div class="col-xs-4">
11
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
12
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
13
+ </div>
14
+ <div class="col-xs-8" >
15
+ <input class="search_input input-font"
16
+ v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
17
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
18
+ </div>
19
+ </div>
20
+ <div class="row text-center" style="margin-top: 20px;">
21
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
22
+ <button v-if="$parent.$parent.showbutton && $parent.$parent.model.rows.length == 0" type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="$parent.$parent.showModal">执行首检</button>
23
+ </div>
24
+ </form>
25
+ </div>
26
+ </criteria>
27
+
28
+ <list :model="model" partial='list'>
29
+ <div partial>
30
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
31
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
32
+ <div class="panel-body panel-self">
33
+ <div class="row">
34
+ <p class="panel-title col-xs-4 text-left font">表号</p>
35
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
36
+ </div>
37
+ <div class="row">
38
+ <p class="panel-title col-xs-4 text-left font">首检日期</p>
39
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_first_inspection_date }}</p>
40
+ </div>
41
+ <div class="row">
42
+ <p class="panel-title col-xs-4 text-left font">首检机构</p>
43
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_inspection_agency }}</p>
44
+ </div>
45
+ <div class="row">
46
+ <p class="panel-title col-xs-4 text-left font">气表品牌</p>
47
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_brand }}</p>
48
+ </div>
49
+ <div class="row">
50
+ <p class="panel-title col-xs-4 text-left font">气表型号</p>
51
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_style }}</p>
52
+ </div>
53
+ </div>
54
+ </div>
55
+
56
+ </div>
57
+ </div>
58
+ </list>
59
+ </criteria-paged>
60
+ </div>
61
+ <div v-show="showcheck">
62
+ <check-rsult-simple :items="weekCheck" :itemname="itemname"></check-rsult-simple>
63
+ <div class="row text-center" style="margin-top: 20px;">
64
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="colse">取消</button>
65
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="uploadCheckPaper">提交</button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </template>
70
+
71
+ <script>
72
+ import {HttpResetClass, PagedList} from 'vue-client'
73
+ import Vue from 'vue'
74
+ import * as Util from '../../Util'
75
+
76
+ export default {
77
+ title: '首检',
78
+ data () {
79
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getFirstWeekTable`, 20,
80
+ {
81
+ f_orgids:'this.f_orgids'
82
+ })
83
+ model.f_orgids = Vue.user.orgid
84
+ return {
85
+ model: model,
86
+ weekCheck:[],
87
+ useritem:{},
88
+ weekConfig:{},
89
+ showcheck:false,
90
+ loading: false,
91
+ showbutton:false,
92
+ itemname:''
93
+ }
94
+ },
95
+ ready () {
96
+ this.getweekconfig()
97
+ },
98
+ computed: {
99
+ },
100
+ methods:{
101
+ getweekconfig(){
102
+ const http = new HttpResetClass()
103
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeByType`, {f_safecheck_type: '首检' }).then(res=>{
104
+ if (res.data && res.data.length > 0 ){
105
+ this.weekConfig = res.data[0]
106
+ }
107
+ })
108
+ },
109
+ getdetails(){
110
+ const json = JSON.parse(this.weekConfig.f_json)
111
+ this.weekCheck = []
112
+ if (json && json.length > 0){
113
+ for (let i = 0; i < json.length; i++){
114
+ if (json[i].itemname === '首检'){
115
+ json[i].items.forEach(row => {
116
+ this.weekCheck.push({
117
+ f_item_name: row.itemname,
118
+ f_item_value: row.f_item_value || '',
119
+ options:row.options,
120
+ type: row.type,
121
+ isshow:true,
122
+ images: row.images|| [],
123
+ multiple: row.multiple?row.multiple:false,
124
+ readonly:false,
125
+ state:'未检'
126
+ })
127
+ })
128
+ }
129
+ }
130
+ }
131
+ },
132
+ scan(){
133
+ HostApp.__this__=this,
134
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
135
+ },
136
+ getCode(){
137
+ let datapa = HostApp.getCode().data;
138
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
139
+ },
140
+ inspect (row) {
141
+ this.getdetails()
142
+ this.useritem = row
143
+ this.weekCheck.forEach(item=>{
144
+ if (item.f_item_name === '表号' && !Util.isEmpty(row.f_meternumber)){
145
+ item.f_item_value = row.f_meternumber
146
+ item.readonly = true
147
+ }
148
+ if (item.f_item_name === '气表品牌' && !Util.isEmpty(row.f_meter_brand)){
149
+ item.f_item_value = row.f_meter_brand
150
+ item.readonly = true
151
+ }
152
+ if (item.f_item_name === '气表型号' && !Util.isEmpty(row.f_meter_style)){
153
+ item.f_item_value = row.f_meter_style
154
+ item.readonly = true
155
+ }
156
+ })
157
+ this.itemname = '首检'
158
+ this.showcheck = true
159
+ },
160
+ showModal(){
161
+ this.getdetails()
162
+ this.itemname = '首检'
163
+ this.showcheck = true
164
+ },
165
+ colse(){
166
+ this.getdetails()
167
+ this.itemname = ''
168
+ this.$refs.paged.$refs.cri.search()
169
+ this.showcheck = false
170
+ this.loading = false
171
+ this.showbutton = false
172
+ },
173
+ async uploadCheckPaperPics () {
174
+ let tableImages = []
175
+ this.weekCheck.forEach((item) => {
176
+ if (item.type == 'picture'){
177
+ item.images.forEach(image=>{
178
+ image.filename = image.f_path.substring(image.f_path.lastIndexOf('/')+1)
179
+ tableImages.push({
180
+ path: image.f_path,
181
+ })
182
+ })
183
+ }
184
+ })
185
+ HostApp.__this__ = this
186
+ HostApp.logicWithHint({
187
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
188
+ 'data': {tableImages:tableImages}, 'backresult': 1
189
+ })
190
+ },
191
+ async uploadCheckPaper(){
192
+ this.loading = true
193
+ await this.uploadCheckPaperPics()
194
+ const json = JSON.parse(this.weekConfig.f_json)
195
+ json.forEach(res=>{
196
+ if (res.itemname === '首检'){
197
+ res.items = this.weekCheck
198
+ }
199
+ })
200
+ const http = new HttpResetClass()
201
+ const weekCheckpaper = {
202
+ f_meter_brand: this.useritem.f_meter_brand,
203
+ f_meter_style: this.useritem.f_meter_style,
204
+ f_meternumber: this.useritem.f_meternumber,
205
+ f_device_address: this.useritem.f_device_address,
206
+ f_address: this.useritem.f_device_address,
207
+ f_operatorid: Vue.user.id,
208
+ f_operator: Vue.user.name,
209
+ f_complete: '已完成',
210
+ f_entry_status: '正常',
211
+ f_safe_type: '首检',
212
+ f_state: '已检',
213
+ f_safe_content: json,
214
+ f_safecheck_type_id: this.weekConfig.f_security_check_type_id,
215
+ f_safe_type_version: this.weekConfig.version,
216
+ f_upload_date: Util.toStandardTimeString(),
217
+ f_checker_id: Vue.user.id,
218
+ f_checker_name: Vue.user.name,
219
+ f_filialeid: Vue.user.orgid,
220
+ f_orgid: Vue.user.orgid,
221
+ f_orgname: Vue.user.orgs,
222
+ }
223
+ this.weekCheck.forEach(item => {
224
+ if (item.f_item_name === '表号'){
225
+ weekCheckpaper.f_meternumber = item.f_item_value
226
+ }
227
+ if (item.f_item_name === '气表品牌'){
228
+ weekCheckpaper.f_meter_brand = item.f_item_value
229
+ }
230
+ if (item.f_item_name === '气表型号'){
231
+ weekCheckpaper.f_meter_style = item.f_item_value
232
+ }
233
+ if (item.f_item_name === '检定机构'){
234
+ weekCheckpaper.f_last_inspection_agency = item.f_item_value
235
+ }
236
+ if (item.f_item_name === '检定时间'){
237
+ if (item.f_item_value && item.f_item_value > Util.toStandardTimeString()){
238
+ this.$showMessage('只能选择当前或者之前的时间!')
239
+ throw '只能选择当前或者之前的时间!'
240
+ return
241
+ }
242
+ weekCheckpaper.f_complete_date = item.f_item_value
243
+ }
244
+ if (item.f_item_name === '检定结果'){
245
+ weekCheckpaper.f_last_inspection_result = item.f_item_value
246
+ }
247
+ })
248
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, weekCheckpaper, {resolveMsg: '首检成功!', rejectMsg: '首检失败,请联系管理员检查!'}).then(res=>{
249
+ if (res.data){
250
+ this.colse()
251
+ }
252
+ })
253
+ this.loading = false
254
+ },
255
+ selfsearch(args){
256
+ if (Util.isEmpty(args.model.f_meternumber)){
257
+ this.$showMessage("请输入表号查询!")
258
+ return
259
+ }
260
+ this.showbutton = true
261
+ this.model.search(args.condition, args.model)
262
+ }
263
+ }
264
+ }
265
+ </script>
266
+ <style scoped>
267
+ .app-row {
268
+ background-color: white;
269
+ padding: 10px 10px 0 10px;
270
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
271
+ }
272
+ .search_input {
273
+ border: 0;
274
+ outline: none;
275
+ }
276
+ .font{
277
+ font: 15px PingFang-SC-Medium;
278
+ color: #666666;
279
+ }
280
+ .input-font{
281
+ font: 15px PingFang-SC-Medium;
282
+ color: #333333;
283
+ }
284
+ .btn-font{
285
+ font:600 16px PingFang-SC-Bold;
286
+ color: #499EDF;
287
+ }
288
+ .btn-color{
289
+ background-color: #FFFFFF;
290
+ border-radius: 10px ;
291
+ border: 1px solid #499EDF;
292
+ }
293
+ .app-text {
294
+ font-size: 12px;
295
+ }
296
+ .panel-self{
297
+ border-radius: 10px;
298
+ border:1px solid #499EDF;
299
+ background-color: #F8F8F8;
300
+ }
301
+ </style>