safecheck-client 4.0.2-4 → 4.0.2-41

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 (277) 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/NewDefectList/DefectPaperNew.vue +2 -2
  190. package/src/components/android/AttendanceTally.vue +116 -116
  191. package/src/components/android/Blank.vue +10 -10
  192. package/src/components/android/CheckUnplanPage.vue +56 -56
  193. package/src/components/android/Checker.vue +12 -12
  194. package/src/components/android/CheckerAnnual.vue +81 -81
  195. package/src/components/android/CheckerAvarta.vue +82 -82
  196. package/src/components/android/EquipmentInspection.vue +348 -348
  197. package/src/components/android/FootprintMap.vue +120 -120
  198. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  199. package/src/components/android/MasterMain.vue +77 -77
  200. package/src/components/android/Menu.vue +132 -132
  201. package/src/components/android/PaperAlarm.vue +85 -85
  202. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  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/StationMaster.vue +12 -12
  212. package/src/components/android/week/CheckResultSimple.vue +252 -0
  213. package/src/components/android/week/FirstWeekCheck.vue +242 -0
  214. package/src/components/android/week/StepHeaderBar.vue +404 -0
  215. package/src/components/android/week/WeekCheck.vue +191 -0
  216. package/src/components/android/week/WeekCheckPaper.vue +181 -0
  217. package/src/components/checkplan/SelectCheckPlan.vue +39 -0
  218. package/src/components/defects/DefectModal.vue +101 -101
  219. package/src/components/defects/DevicesAndItem.vue +39 -39
  220. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  221. package/src/components/notice/NoticeForm.vue +100 -100
  222. package/src/components/notice/NoticeIssue.vue +20 -20
  223. package/src/components/paper/PicViewer.vue +18 -18
  224. package/src/components/paper/safetyledger.vue +194 -0
  225. package/src/components/pc/CheckBook.vue +1 -1
  226. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  227. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  228. package/src/components/phonestate/PostMap.vue +82 -82
  229. package/src/components/planmanage/checkUserList.vue +1 -1
  230. package/src/components/querycheckpaper/CheckSearchUser.vue +2 -1
  231. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  232. package/src/components/report/CheckByPlan.vue +118 -118
  233. package/src/components/report/CheckPlanAreaList.vue +45 -2
  234. package/src/components/userfile/MeterFile.vue +145 -145
  235. package/src/components/userfile/MeterModify.vue +46 -46
  236. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  237. package/src/filiale/jinhong/android/CurrentCreate.vue +6 -3
  238. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +28 -3
  239. package/src/filiale/jinhong/pc/CheckBookList.vue +28 -18
  240. package/src/filiale/jinhong/pc/CheckSearchUser.vue +1120 -1094
  241. package/src/filiale/jinhong/pc/NewCheckpaper.vue +1958 -0
  242. package/src/filiale/jinhong/pc/PaperList.vue +1 -1
  243. package/src/filiale/jinhong/pc/checkPlanList.vue +73 -24
  244. package/src/filiale/jinhong/pc.js +15 -14
  245. package/src/filiale/meihekou/android/CurrentCreate.vue +16 -0
  246. package/src/filiale/meihekou/android/PaperFeedback.vue +3 -0
  247. package/src/filiale/meihekou/android/SafecheckDevices.vue +6 -3
  248. package/src/filiale/meihekou/android/SafecheckOrderV.vue +27 -28
  249. package/src/filiale/meihekou/pc/CheckDetail.vue +217 -0
  250. package/src/filiale/meihekou/pc/CheckPlan.vue +52 -0
  251. package/src/filiale/meihekou/pc/CheckPlanAreaList.vue +505 -0
  252. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -1
  253. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +1 -0
  254. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1 -0
  255. package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -0
  256. package/src/filiale/meihekou/pc.js +3 -0
  257. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +2 -2
  258. package/src/filiale/xinkang/android/SafecheckDevices.vue +1 -1
  259. package/src/filiale/xinkang/android/SafecheckOrderV.vue +10 -3
  260. package/src/filiale/xinkang/pc/NewCheckpaper.vue +17 -46
  261. package/src/filiale/xinliansihui/pc/PaperList.vue +814 -0
  262. package/src/filiale/xinliansihui/pc/PaperVisitMain.vue +206 -0
  263. package/src/filiale/xinliansihui/pc.js +13 -0
  264. package/src/plugins/LoadData.js +10 -10
  265. package/src/plugins/LoadParams.js +24 -24
  266. package/src/safecheck-android.js +10 -0
  267. package/src/safecheck.js +3 -0
  268. package/src/stores/wxconfig.js +10 -10
  269. package/src/utils/getNowDate.js +33 -33
  270. package/test/e2e/custom-assertions/elementCount.js +26 -26
  271. package/test/e2e/nightwatch.conf.js +40 -40
  272. package/test/e2e/runner.js +30 -30
  273. package/test/e2e/specs/test.js +13 -13
  274. package/test/unit/.eslintrc +5 -5
  275. package/test/unit/TestUtil.js +62 -62
  276. package/test/unit/context.html +20 -20
  277. package/test/unit/index.js +13 -13
@@ -0,0 +1,404 @@
1
+ <template>
2
+ <div class="auto">
3
+ <div class="step-header">
4
+ <div class="step-track">
5
+ <div v-for="(idx, s) in steps" :key="idx" class="step-item">
6
+ <div style="display: flex;align-items: center;">
7
+ <!-- 分隔线(仅在非第一个步骤时显示) -->
8
+ <div v-if="idx !== 0" class="step-divider" :class="{ active: idx <= current }"></div>
9
+ <!-- 圆形数字 -->
10
+ <div class="step-number" :class="{ active: idx <= current }" @click="weekCheckChange(s,idx)">
11
+ {{ idx + 1 }}
12
+ </div>
13
+ </div>
14
+ <!-- 步骤标题 -->
15
+ <div class="step-title">{{ s }}</div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <check-rsult-simple :itemname="itemname" :items="weekCheck" ></check-rsult-simple>
20
+ <div class="row text-center" style="margin-top: 20px;">
21
+ <button v-if="showbutton" type="button" class="col-sm-3 btn btn-primary" @click="uploadCheckPaper">提交</button>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import {HttpResetClass, PagedList} from 'vue-client'
28
+ import Vue from 'vue'
29
+ import * as Util from '../../Util'
30
+
31
+ export default {
32
+ title: '周检待办详情',
33
+ props: {
34
+ weekdata:{
35
+ type: Object,
36
+ default () {
37
+ return {}
38
+ }
39
+ }
40
+ },
41
+ data () {
42
+ return {
43
+ weekConfig:{},
44
+ weekCheck: [],
45
+ steps: [],
46
+ current: null,
47
+ showbutton:false,
48
+ weekCheckPaper:{},
49
+ itemname:''
50
+ }
51
+ },
52
+ ready () {
53
+ if (!Util.isEmpty(this.weekdata.paper_id)){
54
+ const http = new HttpResetClass()
55
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckPaperById`, {id: this.weekdata.paper_id }).then(res=>{
56
+ console.log('res', res.data)
57
+ this.weekCheckPaper = res.data
58
+ if (this.weekdata.f_complete == '已完成'){
59
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
60
+ this.steps = []
61
+ json.forEach((row) => {
62
+ this.steps.push(row.itemname)
63
+ })
64
+ this.current = json.length
65
+ this.weekCheckChange(json[json.length-1].itemname,json.length-1)
66
+ }else {
67
+ this.getweekconfig(this.weekdata.safechecktype_id)
68
+ }
69
+ })
70
+ }else {
71
+ this.getweekconfig(this.weekdata.safechecktype_id)
72
+ }
73
+ },
74
+ computed: {
75
+ },
76
+ methods:{
77
+ // 获取周检配置
78
+ getweekconfig(row){
79
+ const http = new HttpResetClass()
80
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeById`, {id: row }).then(res=>{
81
+ if (res.data && res.data.length > 0 ){
82
+ this.weekConfig = res.data[0]
83
+ const json = JSON.parse(this.weekConfig.f_json)
84
+ if (json && json.length > 0){
85
+ this.steps = []
86
+ json.forEach((row,index) => {
87
+ if (Util.isEmpty(this.weekdata.f_complete)){
88
+ this.current = 0
89
+ }else if (row.itemname === this.weekdata.f_complete){
90
+ this.current = index+1
91
+ }
92
+ this.steps.push(row.itemname)
93
+ })
94
+ if (Util.isEmpty(this.weekdata.f_complete)){
95
+ this.weekCheckChange(json[0].itemname,this.current)
96
+ }else {
97
+ if (this.weekdata.f_complete != '已完成'){
98
+ this.weekCheckChange(this.steps[this.current],this.current)
99
+ }
100
+ }
101
+ }
102
+ }
103
+ })
104
+ },
105
+ // 获取当前环节周检配置
106
+ weekCheckChange(row,id){
107
+ if (this.current < id) {
108
+ this.weekCheck = []
109
+ this.showbutton = false
110
+ this.$showMessage('请先完成当前环节!')
111
+ }
112
+ else if (this.current == id){
113
+ this.showbutton = true
114
+ const json = JSON.parse(this.weekConfig.f_json)
115
+ this.weekCheck = []
116
+ if (json && json.length > 0){
117
+ if (Util.isEmpty(row)){
118
+ json[0].items.forEach(row => {
119
+ this.weekCheck.push({
120
+ f_item_name: row.itemname,
121
+ f_item_value: row.f_item_value || '',
122
+ options:row.options,
123
+ type: row.type,
124
+ isshow:true,
125
+ images: row.images|| [],
126
+ multiple: row.multiple?row.multiple:false,
127
+ readonly:false
128
+ })
129
+ })
130
+ }
131
+ else {
132
+ for (let i = 0; i < json.length; i++){
133
+ if (json[i].itemname === row){
134
+ json[i].items.forEach(row => {
135
+ this.weekCheck.push({
136
+ f_item_name: row.itemname,
137
+ f_item_value: row.f_item_value || '',
138
+ options:row.options,
139
+ type: row.type,
140
+ isshow:true,
141
+ images: row.images|| [],
142
+ multiple: row.multiple?row.multiple:false,
143
+ readonly:false
144
+ })
145
+ })
146
+ }
147
+ }
148
+ }
149
+ }
150
+ this.weekCheck.forEach(item=>{
151
+ if (item.f_item_name === '表号' && !Util.isEmpty(this.weekdata.f_meternumber)){
152
+ item.f_item_value = this.weekdata.f_meternumber
153
+ item.readonly = true
154
+ }
155
+ if (item.f_item_name === '气表品牌' && !Util.isEmpty(this.weekdata.f_meter_brand)){
156
+ item.f_item_value = this.weekdata.f_meter_brand
157
+ item.readonly = true
158
+ }
159
+ if (item.f_item_name === '气表型号' && !Util.isEmpty(this.weekdata.f_meter_style)){
160
+ item.f_item_value = this.weekdata.f_meter_style
161
+ item.readonly = true
162
+ }
163
+ })
164
+ }
165
+ else if (this.current > id){
166
+ this.showbutton = false
167
+ this.weekCheck = []
168
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
169
+ json.forEach(res=>{
170
+ if (res.itemname === row){
171
+ res.items.forEach(row => {
172
+ this.weekCheck.push({
173
+ f_item_name: row.f_item_name,
174
+ f_item_value: row.f_item_value || '',
175
+ type: row.type,
176
+ isshow:true,
177
+ images: row.images|| [],
178
+ multiple: row.multiple?row.multiple:false,
179
+ readonly:true
180
+ })
181
+ })
182
+ }
183
+ })
184
+ }
185
+ else {
186
+ this.showbutton = false
187
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
188
+ this.weekCheck = []
189
+ json[0].items.forEach(row => {
190
+ this.weekCheck.push({
191
+ f_item_name: row.f_item_name,
192
+ f_item_value: row.f_item_value || '',
193
+ type: row.type,
194
+ isshow:true,
195
+ images: row.images|| [],
196
+ multiple: row.multiple?row.multiple:false,
197
+ readonly:true
198
+ })
199
+ })
200
+ console.log('this.weekCheck',this.weekCheck)
201
+ }
202
+ this.itemname = row
203
+ this.watchitem()
204
+ },
205
+ // 监听表单
206
+ watchitem(){
207
+ for (let item in this.weekCheck) {
208
+ if (this.weekCheck[item].f_item_name === "是否停用表具") {
209
+ this.$watch('weekCheck[' + item + '].f_item_value', function (val) {
210
+ if (val === '是') {
211
+ this.weekCheck.forEach((item) => {
212
+ if (item.f_item_name === '是否停用表具' || item.f_item_name === '停用备注' || item.f_item_name === '停用图片') {
213
+ item.isshow = true
214
+ } else {
215
+ item.isshow = false
216
+ }
217
+ })
218
+ }
219
+ if (val === '否') {
220
+ this.weekCheck.forEach((item) => {
221
+ if (item.f_item_name === '停用备注' || item.f_item_name === '停用图片') {
222
+ item.isshow = false
223
+ } else {
224
+ item.isshow = true
225
+ }
226
+ })
227
+ }
228
+ })
229
+ }
230
+ }
231
+ },
232
+ async commitCallBack(jo) {
233
+ if (jo.state != 'ok'){
234
+ this.$showMessage('上传图片失败')
235
+ throw '上传图片失败'
236
+ }
237
+ },
238
+ async uploadCheckPaperPics () {
239
+ let tableImages = []
240
+ this.weekCheck.forEach((item) => {
241
+ if (item.type == 'picture'){
242
+ item.images.forEach(image=>{
243
+ image.filename = image.f_path.substring(image.f_path.lastIndexOf('/')+1)
244
+ tableImages.push({
245
+ path: image.f_path,
246
+ })
247
+ })
248
+ }
249
+ })
250
+ HostApp.__this__ = this
251
+ HostApp.logicWithHint({
252
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
253
+ 'data': {tableImages:tableImages}, 'backresult': 1
254
+ })
255
+ },
256
+ async uploadCheckPaper () {
257
+ await this.uploadCheckPaperPics()
258
+ const http = new HttpResetClass()
259
+ let json = []
260
+ if (this.weekCheckPaper && !Util.isEmpty(this.weekCheckPaper.f_safe_content)){
261
+ json = JSON.parse(this.weekCheckPaper.f_safe_content)
262
+ }
263
+ JSON.parse(this.weekConfig.f_json).forEach(res=>{
264
+ if (res.itemname === this.steps[this.current]){
265
+ res.items = this.weekCheck
266
+ json.push(res)
267
+ }
268
+ })
269
+ let data = {
270
+ f_userinfo_id: this.weekdata.f_userinfo_id,
271
+ f_user_name: this.weekdata.f_user_name,
272
+ f_user_phone: this.weekdata.f_user_phone,
273
+ f_meter_brand: this.weekdata.f_meter_brand,
274
+ f_meter_style: this.weekdata.f_meter_style,
275
+ f_meternumber: this.weekdata.f_meternumber,
276
+ f_address: this.weekdata.f_address,
277
+ f_checker_id: Vue.user.id,
278
+ f_checker_name: Vue.user.name,
279
+ f_safe_type: '周检',
280
+ f_entry_status :'正常',
281
+ f_table_state: this.weekdata.f_table_state,
282
+ f_safe_content: json,
283
+ f_safecheck_type_id: this.weekdata.safechecktype_id,
284
+ f_check_item_id: this.weekdata.id,
285
+ f_check_plan_id: this.weekdata.f_plan_id,
286
+ f_upload_date: Util.toStandardTimeString(),
287
+ f_filiale_id: Vue.user.orgid,
288
+ f_filiale: Vue.user.orgs,
289
+ }
290
+ if (!Util.isEmpty(this.weekdata.paper_id)){
291
+ data.id = this.weekdata.paper_id
292
+ }
293
+ if (this.steps[this.current] == '上传报告'){
294
+ data.f_complete = '已完成'
295
+ data.f_state = '已检'
296
+ data.f_entry_status = '正常'
297
+ }else {
298
+ data.f_complete = this.steps[this.current]
299
+ data.f_state = '未检'
300
+ }
301
+ this.weekCheck.forEach(item => {
302
+ if (this.steps[this.current] == '下表'){
303
+ if (item.f_item_name === '是否停用表具'){
304
+ if (item.f_item_value == '是'){
305
+ data.f_table_state = '停用'
306
+ data.f_complete = '已完成'
307
+ data.f_state = '已检'
308
+ }
309
+ }
310
+ }
311
+ if (this.steps[this.current] == '装表'){
312
+ if (item.f_item_name === '处理方式' ){
313
+ if (!Util.isEmpty(item.f_item_value)){
314
+ data.f_entry_status = item.f_item_value
315
+ data.f_complete = '已完成'
316
+ data.f_state = '已检'
317
+ }
318
+ }
319
+ }
320
+ })
321
+
322
+
323
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, data).then(res=>{
324
+ console.log('res', res.data)
325
+ this.weekCheckPaper = res.data[0]
326
+ })
327
+ this.$dispatch('confirm')
328
+ }
329
+ }
330
+ }
331
+ </script>
332
+
333
+ <style scoped>
334
+ .step-header {
335
+ background: #ffffff;
336
+ padding: 15px 20px;
337
+ }
338
+
339
+ .step-track {
340
+ display: flex;
341
+ justify-content: flex-start;
342
+ padding: 0 10px;
343
+ font-size: 14px;
344
+ color: #666;
345
+ overflow-x: auto; /* 启用横向滚动 */
346
+ /* 隐藏滚动条 */
347
+ scrollbar-width: none; /* Firefox */
348
+ -ms-overflow-style: none; /* IE/Edge */
349
+ }
350
+
351
+ /* 隐藏WebKit浏览器的滚动条 */
352
+ .step-track::-webkit-scrollbar {
353
+ display: none;
354
+ }
355
+
356
+ .step-item {
357
+ position: relative;
358
+ display: flex;
359
+ flex-direction: column;
360
+ align-items: end;
361
+ }
362
+
363
+ .step-number {
364
+ width: 30px;
365
+ height: 30px;
366
+ border-radius: 50%;
367
+ background: #e0e0e0;
368
+ color: #666;
369
+ line-height: 30px;
370
+ text-align: center;
371
+ font-weight: bold;
372
+ font-size: 14px;
373
+ transition: all 0.3s ease;
374
+ }
375
+
376
+ .step-number.active {
377
+ background: #499EDF;
378
+ color: white;
379
+ }
380
+
381
+ .step-title {
382
+ margin-top: 8px;
383
+ font-size: 14px;
384
+ color: #666;
385
+ font-weight: 500;
386
+ width: 3em;
387
+ text-align: center;
388
+ word-break: break-all;
389
+ line-height: 1.4;
390
+ }
391
+
392
+ /* 分隔线 */
393
+ .step-divider {
394
+ width: 80px;
395
+ height: 2px;
396
+ background: #e0e0e0;
397
+ margin: 0 16px;
398
+ transition: all 0.3s ease;
399
+ }
400
+
401
+ .step-divider.active {
402
+ background: #499EDF;
403
+ }
404
+ </style>
@@ -0,0 +1,191 @@
1
+ <template>
2
+ <div class="auto">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
+ <div partial>
6
+ <form>
7
+ <div class="row app-row">
8
+ <div class="col-xs-4">
9
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
+ <label class="font text-left">用户名称:</label>
11
+ </div>
12
+ <div class="col-xs-8" >
13
+ <input class="search_input input-font"
14
+ v-model=model.f_user_name condition="twpi.f_user_name like '%{}%'" style="width: 70%" placeholder="请输入用户名称" />
15
+ </div>
16
+ </div>
17
+ <div class="row app-row">
18
+ <div class="col-xs-4">
19
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
+ </div>
22
+ <div class="col-xs-8" >
23
+ <input class="search_input input-font"
24
+ v-model=model.f_meternumber condition="tu.f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
+ </div>
27
+ </div>
28
+ <div class="row app-row">
29
+ <div class="col-xs-4">
30
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
31
+ <label class="font text-left">基表号:</label>
32
+ </div>
33
+ <div class="col-xs-8" >
34
+ <input class="search_input input-font"
35
+ v-model="model.f_base_meternumber" condition="tu.f_base_meternumber like '%{}%'" />
36
+ </div>
37
+ </div>
38
+ <div class="row app-row">
39
+ <div class="col-xs-4">
40
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
41
+ <label class="font text-left">用户地址:</label>
42
+ </div>
43
+ <div class="col-xs-8" >
44
+ <input class="search_input input-font"
45
+ v-model=model.f_address condition="twpi.f_address like '%{}%'" />
46
+ </div>
47
+ </div>
48
+ <div class="row app-row">
49
+ <div class="col-xs-4">
50
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
+ <label class="font text-left">周检环节:</label>
52
+ </div>
53
+ <div class="col-xs-8" >
54
+ <input class="search_input input-font"
55
+ v-model=model.f_complete condition="twpi.f_complete like '%{}%'" />
56
+ </div>
57
+ </div>
58
+ <div class="row text-center" style="margin-top: 20px;">
59
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
60
+ </div>
61
+ </form>
62
+ </div>
63
+ </criteria>
64
+
65
+ <list :model="model" partial='list'>
66
+ <div partial>
67
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
68
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
69
+ <div class="panel-body panel-self">
70
+ <div class="row">
71
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
72
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_id }}</p>
73
+ </div>
74
+ <div class="row">
75
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
76
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
77
+ </div>
78
+ <div class="row">
79
+ <p class="panel-title col-xs-4 text-left font">表号</p>
80
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
81
+ </div>
82
+ <div class="row">
83
+ <p class="panel-title col-xs-4 text-left font">周检环节</p>
84
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_complete }}</p>
85
+ </div>
86
+ <div class="row">
87
+ <p class="panel-title col-xs-4 text-left font">周检状态</p>
88
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_state }}</p>
89
+ </div>
90
+ </div>
91
+ </div>
92
+
93
+ </div>
94
+ </div>
95
+ </list>
96
+ </criteria-paged>
97
+ </div>
98
+ </template>
99
+
100
+ <script>
101
+ import {HttpResetClass, PagedList} from 'vue-client'
102
+ import Vue from 'vue'
103
+ import * as Util from '../../Util'
104
+
105
+ export default {
106
+ title: '周检待办',
107
+ data () {
108
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getWeekPlanitem`, 20,
109
+ {
110
+ f_user_name:'this.f_user_name'
111
+ })
112
+ model.f_user_name = `${Vue.user.name}`
113
+ return {
114
+ model: model,
115
+
116
+ }
117
+ },
118
+ ready () {
119
+ },
120
+ computed: {
121
+ },
122
+ methods:{
123
+ scan(){
124
+ HostApp.__this__=this,
125
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
126
+ },
127
+ getCode(){
128
+ let datapa = HostApp.getCode().data;
129
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
130
+ },
131
+ reload(){
132
+ this.$refs.paged.$refs.cri.search()
133
+ },
134
+ inspect (row) {
135
+ var pardate = {
136
+ _this:this,
137
+ tittle:'周检单填写',
138
+ safe:true
139
+ }
140
+ this.$dispatch('gotoson',pardate)
141
+ this.$goto('step-header-bar', {weekdata: row}, 'self',this.reload)
142
+
143
+ },
144
+ }
145
+ }
146
+ </script>
147
+ <style scoped>
148
+ .app-row {
149
+ background-color: white;
150
+ padding: 10px 10px 0 10px;
151
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
152
+ }
153
+ .search_input {
154
+ border: 0;
155
+ outline: none;
156
+ }
157
+ .font{
158
+ font: 15px PingFang-SC-Medium;
159
+ color: #666666;
160
+ }
161
+ .input-font{
162
+ font: 15px PingFang-SC-Medium;
163
+ color: #333333;
164
+ }
165
+ .btn-font{
166
+ font:600 16px PingFang-SC-Bold;
167
+ color: #499EDF;
168
+ }
169
+ .btn-color{
170
+ background-color: #FFFFFF;
171
+ border-radius: 10px ;
172
+ border: 1px solid #499EDF;
173
+ }
174
+ .app-text {
175
+ font-size: 12px;
176
+ }
177
+ .panel-self{
178
+ border-radius: 10px;
179
+ border:1px solid #499EDF;
180
+ background-color: #F8F8F8;
181
+ }
182
+ .yybtn-color{
183
+ border-radius: 4px ;
184
+ border: 1px solid #499EDF;
185
+ }
186
+ .qxbtn-color{
187
+ background-color: #FFFFFF;
188
+ border-radius: 4px ;
189
+ border: 1px solid #499EDF;
190
+ }
191
+ </style>