safecheck-client 3.0.33-146 → 3.0.33-147

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 (286) 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/FormPrint.md +18 -18
  15. package/docs/GetParams.md +11 -11
  16. package/docs/GridTree.md +47 -47
  17. package/docs/HttpBusy.md +13 -13
  18. package/docs/HttpStore.md +29 -29
  19. package/docs/MessageBox.md +28 -28
  20. package/docs/PagedList.md +29 -29
  21. package/docs/Pager.md +21 -21
  22. package/docs/PrintFile.md +38 -38
  23. package/docs/Project.md +23 -23
  24. package/docs/Route.md +105 -105
  25. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  26. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  27. package/docs/Task.md +46 -46
  28. package/docs/TreeList.md +28 -28
  29. package/docs/TreeMixin.md +18 -18
  30. package/docs/all.md +10 -10
  31. package/docs/list.md +42 -42
  32. package/docs/partial.md +75 -75
  33. package/docs/selector.md +82 -82
  34. package/docs/tree.md +40 -40
  35. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  36. 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
  37. 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
  38. 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
  39. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  40. package/examples/AddressList/App.vue +13 -13
  41. package/examples/AddressList/index.html +11 -11
  42. package/examples/DispatchList/App.vue +10 -10
  43. package/examples/DispatchList/BaseTree.vue +13 -13
  44. package/examples/DispatchList/Init.vue +22 -22
  45. package/examples/DispatchList/Test.vue +20 -20
  46. package/examples/DispatchList/index.html +11 -11
  47. package/examples/DispatchList/main.js +18 -18
  48. package/home.html +16 -16
  49. package/package.json +1 -1
  50. package/publish.bat +7 -7
  51. package/release.bat +5 -5
  52. package/src/Widget.vue +13 -13
  53. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  54. package/src/android-bootstrap/less/.csscomb.json +304 -304
  55. package/src/android-bootstrap/less/.csslintrc +19 -19
  56. package/src/android-bootstrap/less/alerts.less +73 -73
  57. package/src/android-bootstrap/less/badges.less +66 -66
  58. package/src/android-bootstrap/less/bootstrap.less +56 -56
  59. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  60. package/src/android-bootstrap/less/button-groups.less +247 -247
  61. package/src/android-bootstrap/less/buttons.less +173 -173
  62. package/src/android-bootstrap/less/carousel.less +269 -269
  63. package/src/android-bootstrap/less/close.less +34 -34
  64. package/src/android-bootstrap/less/code.less +69 -69
  65. package/src/android-bootstrap/less/component-animations.less +33 -33
  66. package/src/android-bootstrap/less/grid.less +84 -84
  67. package/src/android-bootstrap/less/input-groups.less +167 -167
  68. package/src/android-bootstrap/less/jumbotron.less +52 -52
  69. package/src/android-bootstrap/less/labels.less +64 -64
  70. package/src/android-bootstrap/less/list-group.less +141 -141
  71. package/src/android-bootstrap/less/media.less +66 -66
  72. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  73. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  74. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  75. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  76. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  77. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  78. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  79. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  80. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  81. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  82. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  83. package/src/android-bootstrap/less/mixins/image.less +33 -33
  84. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  85. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  86. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  87. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  88. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  89. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  90. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  91. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  92. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  93. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  94. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  95. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  96. package/src/android-bootstrap/less/mixins/size.less +10 -10
  97. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  98. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  99. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  100. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  101. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  102. package/src/android-bootstrap/less/mixins.less +40 -40
  103. package/src/android-bootstrap/less/modals.less +151 -151
  104. package/src/android-bootstrap/less/navbar.less +660 -660
  105. package/src/android-bootstrap/less/navs.less +290 -290
  106. package/src/android-bootstrap/less/normalize.less +424 -424
  107. package/src/android-bootstrap/less/pager.less +76 -76
  108. package/src/android-bootstrap/less/pagination.less +89 -89
  109. package/src/android-bootstrap/less/panels.less +274 -274
  110. package/src/android-bootstrap/less/popovers.less +131 -131
  111. package/src/android-bootstrap/less/print.less +101 -101
  112. package/src/android-bootstrap/less/progress-bars.less +87 -87
  113. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  114. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  115. package/src/android-bootstrap/less/scaffolding.less +161 -161
  116. package/src/android-bootstrap/less/tables.less +262 -262
  117. package/src/android-bootstrap/less/theme.less +291 -291
  118. package/src/android-bootstrap/less/thumbnails.less +36 -36
  119. package/src/android-bootstrap/less/tooltip.less +102 -102
  120. package/src/android-bootstrap/less/type.less +303 -303
  121. package/src/android-bootstrap/less/utilities.less +55 -55
  122. package/src/android-bootstrap/less/variables.less +896 -896
  123. package/src/android-bootstrap/less/wells.less +29 -29
  124. package/src/androidTest.js +20 -20
  125. package/src/bootstrap/less/.csscomb.json +304 -304
  126. package/src/bootstrap/less/.csslintrc +19 -19
  127. package/src/bootstrap/less/alerts.less +73 -73
  128. package/src/bootstrap/less/badges.less +66 -66
  129. package/src/bootstrap/less/breadcrumbs.less +26 -26
  130. package/src/bootstrap/less/button-groups.less +247 -247
  131. package/src/bootstrap/less/buttons.less +172 -172
  132. package/src/bootstrap/less/carousel.less +269 -269
  133. package/src/bootstrap/less/close.less +34 -34
  134. package/src/bootstrap/less/code.less +69 -69
  135. package/src/bootstrap/less/component-animations.less +33 -33
  136. package/src/bootstrap/less/dropdowns.less +216 -216
  137. package/src/bootstrap/less/forms.less +626 -626
  138. package/src/bootstrap/less/grid.less +84 -84
  139. package/src/bootstrap/less/input-groups.less +167 -167
  140. package/src/bootstrap/less/jumbotron.less +52 -52
  141. package/src/bootstrap/less/labels.less +64 -64
  142. package/src/bootstrap/less/list-group.less +141 -141
  143. package/src/bootstrap/less/media.less +66 -66
  144. package/src/bootstrap/less/mixins/alerts.less +14 -14
  145. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  146. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  147. package/src/bootstrap/less/mixins/buttons.less +69 -69
  148. package/src/bootstrap/less/mixins/center-block.less +7 -7
  149. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  150. package/src/bootstrap/less/mixins/forms.less +90 -90
  151. package/src/bootstrap/less/mixins/gradients.less +59 -59
  152. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  153. package/src/bootstrap/less/mixins/grid.less +122 -122
  154. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  155. package/src/bootstrap/less/mixins/image.less +33 -33
  156. package/src/bootstrap/less/mixins/labels.less +12 -12
  157. package/src/bootstrap/less/mixins/list-group.less +30 -30
  158. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  159. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  160. package/src/bootstrap/less/mixins/opacity.less +8 -8
  161. package/src/bootstrap/less/mixins/pagination.less +24 -24
  162. package/src/bootstrap/less/mixins/panels.less +24 -24
  163. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  164. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  165. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  166. package/src/bootstrap/less/mixins/resize.less +6 -6
  167. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  168. package/src/bootstrap/less/mixins/size.less +10 -10
  169. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  170. package/src/bootstrap/less/mixins/table-row.less +44 -44
  171. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  172. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  173. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  174. package/src/bootstrap/less/mixins.less +40 -40
  175. package/src/bootstrap/less/modals.less +151 -151
  176. package/src/bootstrap/less/navbar.less +660 -660
  177. package/src/bootstrap/less/normalize.less +424 -424
  178. package/src/bootstrap/less/pager.less +76 -76
  179. package/src/bootstrap/less/pagination.less +89 -89
  180. package/src/bootstrap/less/panels.less +275 -275
  181. package/src/bootstrap/less/popovers.less +131 -131
  182. package/src/bootstrap/less/print.less +101 -101
  183. package/src/bootstrap/less/progress-bars.less +87 -87
  184. package/src/bootstrap/less/responsive-embed.less +35 -35
  185. package/src/bootstrap/less/responsive-utilities.less +194 -194
  186. package/src/bootstrap/less/scaffolding.less +161 -161
  187. package/src/bootstrap/less/theme.less +291 -291
  188. package/src/bootstrap/less/thumbnails.less +36 -36
  189. package/src/bootstrap/less/tooltip.less +102 -102
  190. package/src/bootstrap/less/type.less +303 -303
  191. package/src/bootstrap/less/utilities.less +55 -55
  192. package/src/bootstrap/less/wells.less +29 -29
  193. package/src/components/FileUpload.vue +696 -696
  194. package/src/components/Hello.vue +39 -39
  195. package/src/components/LeftTree.vue +27 -27
  196. package/src/components/android/AddGas.vue +147 -147
  197. package/src/components/android/AddressList.vue +61 -61
  198. package/src/components/android/AttendanceTally.vue +116 -116
  199. package/src/components/android/Blank.vue +10 -10
  200. package/src/components/android/CheckUnplanPage.vue +56 -56
  201. package/src/components/android/Checker.vue +12 -12
  202. package/src/components/android/CheckerAnnual.vue +81 -81
  203. package/src/components/android/CheckerAvarta.vue +82 -82
  204. package/src/components/android/CheckerMonthly.vue +84 -84
  205. package/src/components/android/EquipmentInspection.vue +348 -348
  206. package/src/components/android/FootprintMap.vue +120 -120
  207. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  208. package/src/components/android/ImgSelfAndroid.vue +181 -181
  209. package/src/components/android/LcheckUnplan.vue +108 -108
  210. package/src/components/android/MasterMain.vue +77 -77
  211. package/src/components/android/Menu.vue +132 -132
  212. package/src/components/android/NavBottom.vue +157 -157
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PlumberAnnual.vue +83 -83
  216. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  217. package/src/components/android/PlumberMonthly.vue +84 -84
  218. package/src/components/android/PostMap.vue +83 -83
  219. package/src/components/android/QueryCheckHistory.vue +122 -122
  220. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  221. package/src/components/android/RepairMain.vue +60 -60
  222. package/src/components/android/Repairman.vue +12 -12
  223. package/src/components/android/StationMaster.vue +12 -12
  224. package/src/components/checkerphonestate/Checker.vue +32 -32
  225. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  226. package/src/components/defects/AddDefectModal.vue +120 -120
  227. package/src/components/defects/AddDevice.vue +95 -95
  228. package/src/components/defects/DefectModal.vue +101 -101
  229. package/src/components/defects/DevicesAndItem.vue +39 -39
  230. package/src/components/defects/DevicesSeting.vue +106 -106
  231. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  232. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  233. package/src/components/metterfiles/MetterFiles.vue +104 -104
  234. package/src/components/notice/NoticeForm.vue +100 -100
  235. package/src/components/notice/NoticeIssue.vue +20 -20
  236. package/src/components/notice/NoticeQuery.vue +76 -76
  237. package/src/components/paper/PicViewer.vue +18 -18
  238. package/src/components/paper/RepairVerifyForm.vue +76 -76
  239. package/src/components/phonestate/DailyTraffic.vue +57 -57
  240. package/src/components/phonestate/LastKnownState.vue +74 -74
  241. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  242. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  243. package/src/components/phonestate/PostMap.vue +82 -82
  244. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  245. package/src/components/task/RepairAnnual.vue +79 -79
  246. package/src/components/task/RepairAnnualDetail.vue +49 -49
  247. package/src/components/task/RepairMonthly.vue +91 -91
  248. package/src/components/task/TaskAnnual.vue +77 -77
  249. package/src/components/task/TaskAnnualDetail.vue +47 -47
  250. package/src/components/task/TaskMonthly.vue +89 -89
  251. package/src/components/userfile/MeterFile.vue +145 -145
  252. package/src/components/userfile/MeterModify.vue +46 -46
  253. package/src/components/userfile/UserfileChange.vue +277 -277
  254. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  255. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -633
  256. package/src/filiale/baiyin/android.js +10 -10
  257. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  258. package/src/filiale/baiyin/pc/PlanChooser.vue +167 -167
  259. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  260. package/src/filiale/baiyin/pc/RightTreeSafe.vue +348 -348
  261. package/src/filiale/baiyin/pc/RoleSelector.vue +160 -160
  262. package/src/filiale/baiyin/pc.js +17 -17
  263. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  264. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  265. package/src/filiale/weinan/pc.js +46 -46
  266. package/src/filiale/yangchunboneng/android/NewCheckpaperAndroid.vue +1362 -1362
  267. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  268. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1235 -1235
  269. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  270. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2845 -2845
  271. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  272. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  273. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +944 -941
  274. package/src/main.js +33 -33
  275. package/src/plugins/LoadData.js +10 -10
  276. package/src/plugins/LoadParams.js +24 -24
  277. package/src/stores/wxconfig.js +10 -10
  278. package/src/utils/getNowDate.js +33 -33
  279. package/test/e2e/custom-assertions/elementCount.js +26 -26
  280. package/test/e2e/nightwatch.conf.js +40 -40
  281. package/test/e2e/runner.js +30 -30
  282. package/test/e2e/specs/test.js +13 -13
  283. package/test/unit/.eslintrc +5 -5
  284. package/test/unit/TestUtil.js +62 -62
  285. package/test/unit/context.html +20 -20
  286. package/test/unit/index.js +13 -13
@@ -1,181 +1,181 @@
1
- <template>
2
- <div>
3
- <img :src="src" :alt="alt" @click="open()" :width="width" :height="height"title="点击查看图片" :id="'vc-imgself-img-'+attach">
4
- <div class="full-img" v-if="show">
5
- <div @click="on" draggable="false" >
6
- <img :src="src" id="image" alt="" style="width: 100%" class="img-state" :alt="alt || ''">
7
- </div>
8
- <div class="btns">
9
- <button type="button" name="button" class="btn btn-primary" @click="close()" :id="'vc-imgself-close-'+attach">关闭</button>
10
- </div>
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import $ from 'jquery'
17
-
18
-
19
- export default {
20
- props: {
21
- src: {
22
- type: String
23
- },
24
- width: {
25
- default: 60
26
- },
27
- height: {
28
- default: 60
29
- },
30
- alt: {
31
- default: '图片加载失败'
32
- },
33
- attach: {
34
- type: String,
35
- default: 'name'
36
- }
37
- },
38
- data () {
39
- return {
40
- show: false,
41
- deg: 0,
42
- power: 1
43
- }
44
- },
45
- methods: {
46
- open () {
47
- this.deg = 0
48
- this.power = 0.5
49
- this.show = true
50
- },
51
- close () {
52
- this.show = false
53
- },
54
- on(){
55
- $(function (){
56
- let result = {}
57
- var eleImg = document.querySelector('#image');
58
- var store = {
59
- scale: 1
60
- };
61
- // 缩放处理
62
- eleImg.addEventListener('touchstart', function (event) {
63
- var touches = event.touches;
64
- var events = touches[0];
65
- var events2 = touches[1];
66
-
67
- var x = eleImg.offsetLeft;
68
- var y = eleImg.offsetTop;
69
-
70
- if (!events) {
71
- return;
72
- }
73
- event.preventDefault();
74
- // 第一个触摸点的坐标
75
- store.pageX = events.pageX;
76
- store.pageY = events.pageY;
77
- store.x = x;
78
- store.y = y;
79
- store.moveable = true;
80
- if (events2) {
81
- store.pageX2 = events2.pageX;
82
- store.pageY2 = events2.pageY;
83
- }
84
- store.originScale = store.scale || 1;
85
- },{ passive: false });
86
- document.addEventListener('touchmove', function (event) {
87
- if (!store.moveable) {
88
- return;
89
- }
90
- event.preventDefault();
91
- var touches = event.touches;
92
- var events = touches[0];
93
- var events2 = touches[1];
94
- result.textContent = '触摸点数量:' + touches.length;
95
- if (events2) {
96
- if (!store.pageX2) {
97
- store.pageX2 = events2.pageX;
98
- }
99
- if (!store.pageY2) {
100
- store.pageY2 = events2.pageY;
101
- }
102
- var getDistance = function (start, stop) {
103
- return Math.hypot(stop.x - start.x, stop.y - start.y);
104
- };
105
- var zoom = getDistance({
106
- x: events.pageX,
107
- y: events.pageY
108
- }, {
109
- x: events2.pageX,
110
- y: events2.pageY
111
- }) /
112
- getDistance({
113
- x: store.pageX,
114
- y: store.pageY
115
- }, {
116
- x: store.pageX2,
117
- y: store.pageY2
118
- });
119
- var newScale = store.originScale * zoom;
120
- if (newScale > 4) {
121
- newScale = 4;
122
- }
123
- store.scale = newScale;
124
- eleImg.style.transform = 'scale('+ newScale +')';
125
- result.textContent = 'zoom: '+ zoom + ', apply scale: ' + newScale;
126
- }else{
127
- var moveX = events.pageX - store.pageX;
128
- var moveY = events.pageY - store.pageY;
129
- var imagetop = store.x + moveX;
130
- var imageleft = store.y + moveY;
131
- eleImg.style.transform = `translate(${imagetop}px, ${imageleft}px) scale(${store.scale})`;
132
- }
133
- },{ passive: false });
134
-
135
- document.addEventListener('touchend', function () {
136
- store.moveable = false;
137
-
138
- delete store.pageX2;
139
- delete store.pageY2;
140
- },{ passive: false });
141
- document.addEventListener('touchcancel', function () {
142
- store.moveable = false;
143
- delete store.pageX2;
144
- delete store.pageY2;
145
- },{ passive: false });
146
- });
147
- }
148
-
149
- },
150
- ready(){
151
- }
152
- }
153
- </script>
154
- <style media="screen">
155
- .full-img {
156
- position: fixed;
157
- top: 0;
158
- bottom: 0;
159
- left: 0;
160
- right: 0;
161
- z-index: 20;
162
- background: rgba(0,0,0,0.8);
163
- display: flex;
164
- overflow: auto;
165
- flex-direction: column;
166
- justify-content: center;
167
- align-items: center;
168
- color: #fff;
169
- }
170
- .btns {
171
- position: fixed;
172
- bottom: 100px;
173
- height: auto;
174
- }
175
- .btns button {
176
- margin-right: 20px;
177
- }
178
- .img-state {
179
-
180
- }
181
- </style>
1
+ <template>
2
+ <div>
3
+ <img :src="src" :alt="alt" @click="open()" :width="width" :height="height"title="点击查看图片" :id="'vc-imgself-img-'+attach">
4
+ <div class="full-img" v-if="show">
5
+ <div @click="on" draggable="false" >
6
+ <img :src="src" id="image" alt="" style="width: 100%" class="img-state" :alt="alt || ''">
7
+ </div>
8
+ <div class="btns">
9
+ <button type="button" name="button" class="btn btn-primary" @click="close()" :id="'vc-imgself-close-'+attach">关闭</button>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import $ from 'jquery'
17
+
18
+
19
+ export default {
20
+ props: {
21
+ src: {
22
+ type: String
23
+ },
24
+ width: {
25
+ default: 60
26
+ },
27
+ height: {
28
+ default: 60
29
+ },
30
+ alt: {
31
+ default: '图片加载失败'
32
+ },
33
+ attach: {
34
+ type: String,
35
+ default: 'name'
36
+ }
37
+ },
38
+ data () {
39
+ return {
40
+ show: false,
41
+ deg: 0,
42
+ power: 1
43
+ }
44
+ },
45
+ methods: {
46
+ open () {
47
+ this.deg = 0
48
+ this.power = 0.5
49
+ this.show = true
50
+ },
51
+ close () {
52
+ this.show = false
53
+ },
54
+ on(){
55
+ $(function (){
56
+ let result = {}
57
+ var eleImg = document.querySelector('#image');
58
+ var store = {
59
+ scale: 1
60
+ };
61
+ // 缩放处理
62
+ eleImg.addEventListener('touchstart', function (event) {
63
+ var touches = event.touches;
64
+ var events = touches[0];
65
+ var events2 = touches[1];
66
+
67
+ var x = eleImg.offsetLeft;
68
+ var y = eleImg.offsetTop;
69
+
70
+ if (!events) {
71
+ return;
72
+ }
73
+ event.preventDefault();
74
+ // 第一个触摸点的坐标
75
+ store.pageX = events.pageX;
76
+ store.pageY = events.pageY;
77
+ store.x = x;
78
+ store.y = y;
79
+ store.moveable = true;
80
+ if (events2) {
81
+ store.pageX2 = events2.pageX;
82
+ store.pageY2 = events2.pageY;
83
+ }
84
+ store.originScale = store.scale || 1;
85
+ },{ passive: false });
86
+ document.addEventListener('touchmove', function (event) {
87
+ if (!store.moveable) {
88
+ return;
89
+ }
90
+ event.preventDefault();
91
+ var touches = event.touches;
92
+ var events = touches[0];
93
+ var events2 = touches[1];
94
+ result.textContent = '触摸点数量:' + touches.length;
95
+ if (events2) {
96
+ if (!store.pageX2) {
97
+ store.pageX2 = events2.pageX;
98
+ }
99
+ if (!store.pageY2) {
100
+ store.pageY2 = events2.pageY;
101
+ }
102
+ var getDistance = function (start, stop) {
103
+ return Math.hypot(stop.x - start.x, stop.y - start.y);
104
+ };
105
+ var zoom = getDistance({
106
+ x: events.pageX,
107
+ y: events.pageY
108
+ }, {
109
+ x: events2.pageX,
110
+ y: events2.pageY
111
+ }) /
112
+ getDistance({
113
+ x: store.pageX,
114
+ y: store.pageY
115
+ }, {
116
+ x: store.pageX2,
117
+ y: store.pageY2
118
+ });
119
+ var newScale = store.originScale * zoom;
120
+ if (newScale > 4) {
121
+ newScale = 4;
122
+ }
123
+ store.scale = newScale;
124
+ eleImg.style.transform = 'scale('+ newScale +')';
125
+ result.textContent = 'zoom: '+ zoom + ', apply scale: ' + newScale;
126
+ }else{
127
+ var moveX = events.pageX - store.pageX;
128
+ var moveY = events.pageY - store.pageY;
129
+ var imagetop = store.x + moveX;
130
+ var imageleft = store.y + moveY;
131
+ eleImg.style.transform = `translate(${imagetop}px, ${imageleft}px) scale(${store.scale})`;
132
+ }
133
+ },{ passive: false });
134
+
135
+ document.addEventListener('touchend', function () {
136
+ store.moveable = false;
137
+
138
+ delete store.pageX2;
139
+ delete store.pageY2;
140
+ },{ passive: false });
141
+ document.addEventListener('touchcancel', function () {
142
+ store.moveable = false;
143
+ delete store.pageX2;
144
+ delete store.pageY2;
145
+ },{ passive: false });
146
+ });
147
+ }
148
+
149
+ },
150
+ ready(){
151
+ }
152
+ }
153
+ </script>
154
+ <style media="screen">
155
+ .full-img {
156
+ position: fixed;
157
+ top: 0;
158
+ bottom: 0;
159
+ left: 0;
160
+ right: 0;
161
+ z-index: 20;
162
+ background: rgba(0,0,0,0.8);
163
+ display: flex;
164
+ overflow: auto;
165
+ flex-direction: column;
166
+ justify-content: center;
167
+ align-items: center;
168
+ color: #fff;
169
+ }
170
+ .btns {
171
+ position: fixed;
172
+ bottom: 100px;
173
+ height: auto;
174
+ }
175
+ .btns button {
176
+ margin-right: 20px;
177
+ }
178
+ .img-state {
179
+
180
+ }
181
+ </style>
@@ -1,108 +1,108 @@
1
- <template>
2
- <div class="app-bg auto">
3
- <tools-page :need-back='true' title="安检计划" @back="back()"></tools-page>
4
- <div class="row app-input">
5
- <label class="col-xs-4 control-label text-left">用户编号</label>
6
- <input class="col-xs-8" v-model="model.f_userid" placeholder="请输入用户编号">
7
- </div>
8
- <div class="row app-input">
9
- <label class="col-xs-4 control-label text-left">用户姓名</label>
10
- <input class="col-xs-8" v-model="model.f_username" placeholder="请输入用户姓名">
11
- </div>
12
- <div class="row app-input">
13
- <label class="col-xs-4 control-label text-left">表号</label>
14
- <input class="col-xs-8" v-model="model.f_meter_no" placeholder="请输入表编号">
15
- </div>
16
- <div class="row app-input">
17
- <label class="col-xs-4 control-label text-left">卡号</label>
18
- <input class="col-xs-6" v-model="model.f_cardid" placeholder="请输入用户卡号">
19
- <div class="input-group col-xs-2">
20
- <span class="input-group-btn">
21
- <button class="btn btn-default " type="button" @click="readCard">读卡</button>
22
- </span>
23
- </div>
24
- </div>
25
- <div class="row app-input">
26
- <label class="col-xs-4 control-label text-left">地址</label>
27
- <input class="col-xs-8" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
28
- </div>
29
- <div class="row app-btn" style="margin-bottom: -5px;">
30
- <button class="btn btn-primary col-xs-6" @click= "planinfomation()"><span class="glyphicon glyphicon-zoom-in" style="margin-right: 20px;"></span>查询</button>
31
- </div>
32
-
33
- <div v-for='row in user' class="app-list auto " @click= "checkplan(row)">
34
- <div class="row" style="color: #00B9F1;">
35
- <span class="col-xs-3">户号:</span><span class="col-xs-3">{{row.f_userid}}</span>
36
- <span class="col-xs-3">姓名:</span><span class="col-xs-3">{{row.f_username}}</span>
37
- </div>
38
- <div class="row">
39
- <span class="col-xs-3">表号:</span><span class="col-xs-3">{{row.f_meter_no}}</span>
40
- <span class="col-xs-3">用户类型:</span><span class="col-xs-3">{{row.f_user_type}}</span>
41
- </div>
42
- <div class="row">
43
- <span class="col-xs-3">地址:</span><span class="col-xs-8">{{row.f_address}}</span>
44
- </div>
45
- </div>
46
- </div>
47
- </template>
48
-
49
- <script>
50
- import co from 'co'
51
- import Vue from 'vue'
52
-
53
- export default {
54
- title:'抄表用户信息',
55
- data () {
56
- return {
57
- model: {
58
- f_userid:'',
59
- f_username: '',
60
- f_meter_no: '',
61
- f_cardid: '',
62
- f_address: ''
63
- },
64
- //拿到的用户
65
- user: [],
66
- context: '',
67
- // 未上传成功的数据
68
- result: []
69
- }
70
- },
71
- methods: {
72
- // 读取卡号
73
- readCard () {
74
- let card = this.$androidUtil.read()
75
- this.model.f_cardid = card.msg.CardID
76
- },
77
- //头部事件回掉
78
- back () {
79
- this.$back()
80
- },
81
- //根据条件拿到用户
82
- planinfomation () {
83
- // 只能自己拼接输入条件
84
- let condition = '1=1'
85
- for (var key in this.model) {
86
- if (this.model[key] !== '') {
87
- condition = condition + ` and ${key} like '%${this.model[key]}%'`
88
- }
89
- }
90
- let url = `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`
91
- this.$resetpost(url,
92
- {data: {tablename: 't_userfiles',condition: condition}},
93
- { resolveMsg: null, rejectMsg: null }
94
- ).then((back) => {
95
- this.user = back.data
96
- }).catch((reason) => {
97
- this.$showMessage(`没有该用户,请在营业厅核查, 原因: ${reason}`)
98
- })
99
- },
100
- checkplan(row) {
101
- this.$goto("tableset",{user:row})
102
- }
103
- }
104
- }
105
- </script>
106
- <style>
107
-
108
- </style>
1
+ <template>
2
+ <div class="app-bg auto">
3
+ <tools-page :need-back='true' title="安检计划" @back="back()"></tools-page>
4
+ <div class="row app-input">
5
+ <label class="col-xs-4 control-label text-left">用户编号</label>
6
+ <input class="col-xs-8" v-model="model.f_userid" placeholder="请输入用户编号">
7
+ </div>
8
+ <div class="row app-input">
9
+ <label class="col-xs-4 control-label text-left">用户姓名</label>
10
+ <input class="col-xs-8" v-model="model.f_username" placeholder="请输入用户姓名">
11
+ </div>
12
+ <div class="row app-input">
13
+ <label class="col-xs-4 control-label text-left">表号</label>
14
+ <input class="col-xs-8" v-model="model.f_meter_no" placeholder="请输入表编号">
15
+ </div>
16
+ <div class="row app-input">
17
+ <label class="col-xs-4 control-label text-left">卡号</label>
18
+ <input class="col-xs-6" v-model="model.f_cardid" placeholder="请输入用户卡号">
19
+ <div class="input-group col-xs-2">
20
+ <span class="input-group-btn">
21
+ <button class="btn btn-default " type="button" @click="readCard">读卡</button>
22
+ </span>
23
+ </div>
24
+ </div>
25
+ <div class="row app-input">
26
+ <label class="col-xs-4 control-label text-left">地址</label>
27
+ <input class="col-xs-8" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
28
+ </div>
29
+ <div class="row app-btn" style="margin-bottom: -5px;">
30
+ <button class="btn btn-primary col-xs-6" @click= "planinfomation()"><span class="glyphicon glyphicon-zoom-in" style="margin-right: 20px;"></span>查询</button>
31
+ </div>
32
+
33
+ <div v-for='row in user' class="app-list auto " @click= "checkplan(row)">
34
+ <div class="row" style="color: #00B9F1;">
35
+ <span class="col-xs-3">户号:</span><span class="col-xs-3">{{row.f_userid}}</span>
36
+ <span class="col-xs-3">姓名:</span><span class="col-xs-3">{{row.f_username}}</span>
37
+ </div>
38
+ <div class="row">
39
+ <span class="col-xs-3">表号:</span><span class="col-xs-3">{{row.f_meter_no}}</span>
40
+ <span class="col-xs-3">用户类型:</span><span class="col-xs-3">{{row.f_user_type}}</span>
41
+ </div>
42
+ <div class="row">
43
+ <span class="col-xs-3">地址:</span><span class="col-xs-8">{{row.f_address}}</span>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </template>
48
+
49
+ <script>
50
+ import co from 'co'
51
+ import Vue from 'vue'
52
+
53
+ export default {
54
+ title:'抄表用户信息',
55
+ data () {
56
+ return {
57
+ model: {
58
+ f_userid:'',
59
+ f_username: '',
60
+ f_meter_no: '',
61
+ f_cardid: '',
62
+ f_address: ''
63
+ },
64
+ //拿到的用户
65
+ user: [],
66
+ context: '',
67
+ // 未上传成功的数据
68
+ result: []
69
+ }
70
+ },
71
+ methods: {
72
+ // 读取卡号
73
+ readCard () {
74
+ let card = this.$androidUtil.read()
75
+ this.model.f_cardid = card.msg.CardID
76
+ },
77
+ //头部事件回掉
78
+ back () {
79
+ this.$back()
80
+ },
81
+ //根据条件拿到用户
82
+ planinfomation () {
83
+ // 只能自己拼接输入条件
84
+ let condition = '1=1'
85
+ for (var key in this.model) {
86
+ if (this.model[key] !== '') {
87
+ condition = condition + ` and ${key} like '%${this.model[key]}%'`
88
+ }
89
+ }
90
+ let url = `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`
91
+ this.$resetpost(url,
92
+ {data: {tablename: 't_userfiles',condition: condition}},
93
+ { resolveMsg: null, rejectMsg: null }
94
+ ).then((back) => {
95
+ this.user = back.data
96
+ }).catch((reason) => {
97
+ this.$showMessage(`没有该用户,请在营业厅核查, 原因: ${reason}`)
98
+ })
99
+ },
100
+ checkplan(row) {
101
+ this.$goto("tableset",{user:row})
102
+ }
103
+ }
104
+ }
105
+ </script>
106
+ <style>
107
+
108
+ </style>