safecheck-client 4.0.1-3 → 4.0.1-4

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 (263) 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/DefectListNew.vue +663 -660
  190. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  191. package/src/components/Util/SafecheckUpload.vue +281 -281
  192. package/src/components/android/AttendanceTally.vue +116 -116
  193. package/src/components/android/Blank.vue +10 -10
  194. package/src/components/android/CheckUnplanPage.vue +56 -56
  195. package/src/components/android/Checker.vue +12 -12
  196. package/src/components/android/CheckerAnnual.vue +81 -81
  197. package/src/components/android/CheckerAvarta.vue +82 -82
  198. package/src/components/android/EquipmentInspection.vue +348 -348
  199. package/src/components/android/FootprintMap.vue +120 -120
  200. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  201. package/src/components/android/MasterMain.vue +77 -77
  202. package/src/components/android/Menu.vue +132 -132
  203. package/src/components/android/PaperAlarm.vue +85 -85
  204. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  205. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  206. package/src/components/android/PlumberAnnual.vue +83 -83
  207. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  208. package/src/components/android/PlumberMonthly.vue +84 -84
  209. package/src/components/android/PostMap.vue +83 -83
  210. package/src/components/android/QueryCheckHistory.vue +122 -122
  211. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  212. package/src/components/android/RepairMain.vue +60 -60
  213. package/src/components/android/Repairman.vue +12 -12
  214. package/src/components/android/SafeRightTree.vue +218 -218
  215. package/src/components/android/SafecheckDevices.vue +1340 -1340
  216. package/src/components/android/StationMaster.vue +12 -12
  217. package/src/components/defects/DefectModal.vue +101 -101
  218. package/src/components/defects/DevicesAndItem.vue +39 -39
  219. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  220. package/src/components/notice/NoticeForm.vue +100 -100
  221. package/src/components/notice/NoticeIssue.vue +20 -20
  222. package/src/components/paper/PaperList.vue +797 -797
  223. package/src/components/paper/PicViewer.vue +18 -18
  224. package/src/components/pc/CheckBook.vue +303 -303
  225. package/src/components/pc/CheckBookArea.vue +146 -146
  226. package/src/components/pc/CheckBookCompany.vue +144 -144
  227. package/src/components/pc/CheckBookDetails.vue +161 -161
  228. package/src/components/pc/CheckBookEntry.vue +60 -60
  229. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  230. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  231. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  232. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  233. package/src/components/pc/CheckBookUser.vue +333 -333
  234. package/src/components/pc/PaperDefectMain.vue +880 -880
  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/meihekou/android/CheckPlanList.vue +198 -198
  243. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  244. package/src/filiale/meihekou/android/CurrentCreate.vue +1038 -1038
  245. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -1542
  246. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -1340
  247. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2433 -2433
  248. package/src/filiale/meihekou/android.js +22 -22
  249. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2027 -2027
  250. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2850 -2850
  251. package/src/main.js +33 -33
  252. package/src/plugins/LoadData.js +10 -10
  253. package/src/plugins/LoadParams.js +24 -24
  254. package/src/stores/wxconfig.js +10 -10
  255. package/src/utils/getNowDate.js +33 -33
  256. package/test/e2e/custom-assertions/elementCount.js +26 -26
  257. package/test/e2e/nightwatch.conf.js +40 -40
  258. package/test/e2e/runner.js +30 -30
  259. package/test/e2e/specs/test.js +13 -13
  260. package/test/unit/.eslintrc +5 -5
  261. package/test/unit/TestUtil.js +62 -62
  262. package/test/unit/context.html +20 -20
  263. package/test/unit/index.js +13 -13
@@ -1,281 +1,281 @@
1
- <template>
2
- <div class="col-sm-12" style="background-color: #FFFFFF">
3
- <div class="col-sm-12" style="padding:50px 100px;height: 25%">
4
- <div class="form-group col-sm-5" v-if="issearch">
5
- <!-- <v-select-->
6
- <!-- class="select select_list"-->
7
- <!-- :value.sync="useType"-->
8
- <!-- width="90%"-->
9
- <!-- v-model="useType"-->
10
- <!-- :options='typeOfUse'-->
11
- <!-- :valueSingle="true"></v-select>-->
12
- </div>
13
- <div class="form-group col-sm-12" style="text-align: center" v-if="issearch">
14
- <button type="button" class="btn btn-primary item_btn" @click="load">搜索</button>
15
- </div>
16
- <div class="form-group col-sm-12" style="text-align: center" v-if="isupload">
17
- <button type="button" class="btn btn-primary item_btn" @click="showUpload = !showUpload">本地上传</button>
18
- </div>
19
-
20
- </div>
21
- <hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
22
- <div class="col-sm-12" style="overflow: scroll;height: 75%">
23
- <div :class="bootstraped ? bootstraped + ' showData' : 'col-sm-15 showData'" v-for="row in fileInfoData">
24
- <div class="col-sm-12 item">
25
- <div class="left col-sm-5">
26
- <a href="#" class="thumbnail" style="width: 88%;height: 98%;margin-left: 16px">
27
- <img v-if="row.f_filetype === 'jpg'||row.f_filetype === 'png'||row.f_filetype === 'jpeg'||row.f_filetype === 'gif'||row.f_filetype === 'bmp'||row.f_filetype === 'MP3'" :src="row.f_downloadURL" alt="..."/>
28
- <img v-if="row.f_filetype === 'pdf'" src="../../assets/pdf.jpg" alt="" />
29
- <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../assets/excel.jpg" alt="" />
30
- <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../assets/doc.jpg" alt="" />
31
- <img v-if="row.f_filetype === 'mp3'" src="../../assets/mp3.png" alt="" />
32
- </a>
33
- </div>
34
- <div class="right col-sm-15">
35
- <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
36
- <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
37
- <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
38
- <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
39
- <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
40
- <p class="clears">
41
- <a v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'" :href="row.f_downloadURL" style="background:#6aa6e2" class="btn btn-primary" target="_blank" role="button">预览</a>
42
- <a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
43
- <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
44
- </p>
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
- <work-busy :is-busy="loading"></work-busy>
51
- <modal :show.sync="showUpload" v-ref:modal backdrop="false">
52
- <header slot="modal-header" class="modal-header">
53
- <button type="button" class="close" @click="close">
54
- <img src="../../assets/x.png" style="margin: -4px;margin-right: -15px;height: 37px"/>
55
- <!-- <span class="glyphicon glyphicon-remove"></span>--></button>
56
- <h4 class="modal-title" style="text-align: center" v-if="headers.fusetype=='MP3'">文件上传</h4>
57
- </header>
58
- <article slot="modal-body" class="modal-body form-horizontal" >
59
- <div class="form-group" >
60
- <!--blodid:在上传时候绑定用户标识-->
61
- <file-upload style="margin-top: -8px;margin-left: 45px" :name="'myFile' + blodid"
62
- action="api/af-revenue/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file>
63
- </file-upload>
64
- </div>
65
- <div class="form-group" v-if="isusetype" style="padding-top: 15px">
66
- <label class="col-sm-2 control-label">文件类型:</label>
67
- <div class="col-sm-10">
68
- <input-select
69
- class="select select_list"
70
- :value.sync="headers.fusetype"
71
- v-model="headers.fusetype"
72
- :options="$appdata.getParam('使用类型')"
73
- :valueSingle="true"></input-select>
74
- </div>
75
- </div>
76
- <div class="form-group" v-if="isremark">
77
- <label class="col-sm-2 control-label">文件说明:</label>
78
- <div class="col-sm-10">
79
- <input class="form-control input_view" style=""
80
- v-model="headers.fremarks"
81
- :value="headers.fremarks"/>
82
- </div>
83
- </div>
84
- </article>
85
- <footer slot="modal-footer" class="modal-footer">
86
- </footer>
87
- </modal>
88
- </template>
89
-
90
- <script>
91
- import {HttpResetClass} from 'vue-client'
92
- import {isEmpty} from "../Util";
93
- import FileUpload from './FileUpload'
94
-
95
- export default {
96
- title: '附件',
97
- props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch','flag'],
98
- components: {
99
- FileUpload
100
- },
101
- data () {
102
- return {
103
- fileInfoData: [], // 数据库存储的文件记录对象数组
104
- headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
105
- showUpload: false, // 上传模态框控制
106
- useType: null,
107
- loading:false
108
- }
109
- },
110
- ready () {
111
- this.headers.blodid = this.blodid
112
- this.headers.businessid = this.businessid
113
- this.headers.defname = this.defname
114
- if(this.flag==='safeCheck'){
115
- this.headers.fusetype='safeCheck'
116
- }
117
- //tag;
118
- //tag;
119
- if (this.blodid || this.businessid) {
120
- //tag;
121
- //tag;
122
- this.load()
123
- }
124
- },
125
- methods: {
126
- delet(index, row) {
127
- this.$resetdelete('api/af-revenue/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
128
- this.$dispatch("delResid",row.id)
129
- this.load()
130
- })
131
- },
132
- // 下载
133
- downloadfile(filepath){
134
- var link = document.createElement('a');
135
- link.href = filepath;
136
- link.target='_blank'
137
- link.dispatchEvent(new MouseEvent('click'));
138
- },
139
- // 关闭文件上传对话框
140
- close () {
141
- this.showUpload = false
142
- // 将选的文件清空
143
- this.$refs.file.$el.querySelector('input').value = ''
144
- this.headers.fusetype = ''
145
- this.headers.fremarks = ''
146
- this.load()
147
- },
148
- // 查询
149
- async load() {
150
- let condition = ''
151
- if(this.businessid){
152
- condition = `f_businessid= '${this.businessid}'`
153
- }else{
154
- condition = `f_blobid= '${this.blodid}'`
155
- }
156
- if (!isEmpty(this.useType)) {
157
- condition += `and fusetype like '${this.useType}'`
158
- }
159
- if(this.flag==='safeCheck'){
160
- condition += `and fusetype ='safeCheck'`
161
- }
162
- let http = new HttpResetClass()
163
- let data = {
164
- items: '*',
165
- tablename: 't_files',
166
- condition: condition,
167
- orderitem: 'id'
168
- }
169
- let getFile = await http.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {data: data}, {
170
- warnMsg: null,
171
- resolveMsg: null
172
- })
173
- for (var i = 0; i < getFile.data.length; i++) {
174
- // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
175
- if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
176
- getFile.data.splice(i,1)
177
- i--
178
- continue
179
- }
180
- let temp = getFile.data[i].f_downloadpath
181
- let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
182
- if (temp.startsWith('E:')){
183
- URL = `rs/image/file/${getFile.data[i].f_filename}`
184
- }
185
- console.log(URL)
186
- getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
187
- }
188
- this.fileInfoData = []
189
- this.fileInfoData = getFile.data
190
-
191
- },
192
- convertBase64ToBlob(base64String) {
193
- // 将base64解码
194
- var bytes = atob(base64String);
195
- //var bytes = base64;
196
- var bytesCode = new ArrayBuffer(bytes.length);
197
- // 转换为类型化数组
198
- var byteArray = new Uint8Array(bytesCode);
199
-
200
- // 将base64转换为ascii码
201
- for (var i = 0; i < bytes.length; i++) {
202
- byteArray[i] = bytes.charCodeAt(i);
203
- }
204
- // 生成Blob对象(文件对象)
205
- return new Blob([bytesCode], {type: 'image/jpeg'});
206
- },
207
- },
208
- computed: {
209
- typeOfUse () {
210
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
211
- }
212
- },
213
- events: {
214
- onFileUpload: function (file, res) {
215
- this.$dispatch("resid",res.id)
216
- this.$dispatch("filename",res)
217
- this.headers.fremarks=''
218
- this.close()
219
- if(this.flag==='safeCheck'){
220
- this.isupload=false
221
- }
222
- },
223
- beforeFileUpload:function (file) {
224
- this.loading = true
225
- },
226
- onAllFilesUploaded:function (file) {
227
- this.loading = false
228
- }
229
-
230
- },
231
- watch:{
232
- //监听blodid值的变化
233
- 'blodid'(val){
234
- //tag;
235
- if (val) {
236
- //tag;
237
- this.load()
238
- }
239
- }
240
- },
241
- }
242
- </script>
243
-
244
- <style scoped>
245
- .clears{
246
- overflow:hidden;
247
- text-overflow:ellipsis;
248
- white-space:nowrap;
249
- }
250
- .showData {
251
- padding: 15px 10px 0px 10px;
252
- box-sizing: border-box;
253
- height: 230px;
254
- font-family: "微软雅黑";
255
- }
256
- .showData .item{
257
- padding-bottom: 10px;
258
- border-bottom: solid 1px #c1c1c1;
259
- }
260
- .left {
261
- padding-right: 10px;
262
- }
263
- .left img{
264
- height: 100%;
265
- width: 100%;
266
- }
267
- .right{
268
- height: 100%;
269
- /*display: -webkit-flex;*/
270
- /*display: flex;*/
271
- /*flex-direction: column;*/
272
- /*justify-content: space-around;*/
273
- }
274
- .item_btn{
275
- width: 80%;
276
- background-color: #6aa6e2;
277
- border-radius: 4px;
278
- color: #FFFFFF;
279
- font-family: PingFang;
280
- }
281
- </style>
1
+ <template>
2
+ <div class="col-sm-12" style="background-color: #FFFFFF">
3
+ <div class="col-sm-12" style="padding:50px 100px;height: 25%">
4
+ <div class="form-group col-sm-5" v-if="issearch">
5
+ <!-- <v-select-->
6
+ <!-- class="select select_list"-->
7
+ <!-- :value.sync="useType"-->
8
+ <!-- width="90%"-->
9
+ <!-- v-model="useType"-->
10
+ <!-- :options='typeOfUse'-->
11
+ <!-- :valueSingle="true"></v-select>-->
12
+ </div>
13
+ <div class="form-group col-sm-12" style="text-align: center" v-if="issearch">
14
+ <button type="button" class="btn btn-primary item_btn" @click="load">搜索</button>
15
+ </div>
16
+ <div class="form-group col-sm-12" style="text-align: center" v-if="isupload">
17
+ <button type="button" class="btn btn-primary item_btn" @click="showUpload = !showUpload">本地上传</button>
18
+ </div>
19
+
20
+ </div>
21
+ <hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
22
+ <div class="col-sm-12" style="overflow: scroll;height: 75%">
23
+ <div :class="bootstraped ? bootstraped + ' showData' : 'col-sm-15 showData'" v-for="row in fileInfoData">
24
+ <div class="col-sm-12 item">
25
+ <div class="left col-sm-5">
26
+ <a href="#" class="thumbnail" style="width: 88%;height: 98%;margin-left: 16px">
27
+ <img v-if="row.f_filetype === 'jpg'||row.f_filetype === 'png'||row.f_filetype === 'jpeg'||row.f_filetype === 'gif'||row.f_filetype === 'bmp'||row.f_filetype === 'MP3'" :src="row.f_downloadURL" alt="..."/>
28
+ <img v-if="row.f_filetype === 'pdf'" src="../../assets/pdf.jpg" alt="" />
29
+ <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../assets/excel.jpg" alt="" />
30
+ <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../assets/doc.jpg" alt="" />
31
+ <img v-if="row.f_filetype === 'mp3'" src="../../assets/mp3.png" alt="" />
32
+ </a>
33
+ </div>
34
+ <div class="right col-sm-15">
35
+ <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
36
+ <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
37
+ <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
38
+ <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
39
+ <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
40
+ <p class="clears">
41
+ <a v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'" :href="row.f_downloadURL" style="background:#6aa6e2" class="btn btn-primary" target="_blank" role="button">预览</a>
42
+ <a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
43
+ <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
44
+ </p>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <work-busy :is-busy="loading"></work-busy>
51
+ <modal :show.sync="showUpload" v-ref:modal backdrop="false">
52
+ <header slot="modal-header" class="modal-header">
53
+ <button type="button" class="close" @click="close">
54
+ <img src="../../assets/x.png" style="margin: -4px;margin-right: -15px;height: 37px"/>
55
+ <!-- <span class="glyphicon glyphicon-remove"></span>--></button>
56
+ <h4 class="modal-title" style="text-align: center" v-if="headers.fusetype=='MP3'">文件上传</h4>
57
+ </header>
58
+ <article slot="modal-body" class="modal-body form-horizontal" >
59
+ <div class="form-group" >
60
+ <!--blodid:在上传时候绑定用户标识-->
61
+ <file-upload style="margin-top: -8px;margin-left: 45px" :name="'myFile' + blodid"
62
+ action="api/af-revenue/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file>
63
+ </file-upload>
64
+ </div>
65
+ <div class="form-group" v-if="isusetype" style="padding-top: 15px">
66
+ <label class="col-sm-2 control-label">文件类型:</label>
67
+ <div class="col-sm-10">
68
+ <input-select
69
+ class="select select_list"
70
+ :value.sync="headers.fusetype"
71
+ v-model="headers.fusetype"
72
+ :options="$appdata.getParam('使用类型')"
73
+ :valueSingle="true"></input-select>
74
+ </div>
75
+ </div>
76
+ <div class="form-group" v-if="isremark">
77
+ <label class="col-sm-2 control-label">文件说明:</label>
78
+ <div class="col-sm-10">
79
+ <input class="form-control input_view" style=""
80
+ v-model="headers.fremarks"
81
+ :value="headers.fremarks"/>
82
+ </div>
83
+ </div>
84
+ </article>
85
+ <footer slot="modal-footer" class="modal-footer">
86
+ </footer>
87
+ </modal>
88
+ </template>
89
+
90
+ <script>
91
+ import {HttpResetClass} from 'vue-client'
92
+ import {isEmpty} from "../Util";
93
+ import FileUpload from './FileUpload'
94
+
95
+ export default {
96
+ title: '附件',
97
+ props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch','flag'],
98
+ components: {
99
+ FileUpload
100
+ },
101
+ data () {
102
+ return {
103
+ fileInfoData: [], // 数据库存储的文件记录对象数组
104
+ headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
105
+ showUpload: false, // 上传模态框控制
106
+ useType: null,
107
+ loading:false
108
+ }
109
+ },
110
+ ready () {
111
+ this.headers.blodid = this.blodid
112
+ this.headers.businessid = this.businessid
113
+ this.headers.defname = this.defname
114
+ if(this.flag==='safeCheck'){
115
+ this.headers.fusetype='safeCheck'
116
+ }
117
+ //tag;
118
+ //tag;
119
+ if (this.blodid || this.businessid) {
120
+ //tag;
121
+ //tag;
122
+ this.load()
123
+ }
124
+ },
125
+ methods: {
126
+ delet(index, row) {
127
+ this.$resetdelete('api/af-revenue/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
128
+ this.$dispatch("delResid",row.id)
129
+ this.load()
130
+ })
131
+ },
132
+ // 下载
133
+ downloadfile(filepath){
134
+ var link = document.createElement('a');
135
+ link.href = filepath;
136
+ link.target='_blank'
137
+ link.dispatchEvent(new MouseEvent('click'));
138
+ },
139
+ // 关闭文件上传对话框
140
+ close () {
141
+ this.showUpload = false
142
+ // 将选的文件清空
143
+ this.$refs.file.$el.querySelector('input').value = ''
144
+ this.headers.fusetype = ''
145
+ this.headers.fremarks = ''
146
+ this.load()
147
+ },
148
+ // 查询
149
+ async load() {
150
+ let condition = ''
151
+ if(this.businessid){
152
+ condition = `f_businessid= '${this.businessid}'`
153
+ }else{
154
+ condition = `f_blobid= '${this.blodid}'`
155
+ }
156
+ if (!isEmpty(this.useType)) {
157
+ condition += `and fusetype like '${this.useType}'`
158
+ }
159
+ if(this.flag==='safeCheck'){
160
+ condition += `and fusetype ='safeCheck'`
161
+ }
162
+ let http = new HttpResetClass()
163
+ let data = {
164
+ items: '*',
165
+ tablename: 't_files',
166
+ condition: condition,
167
+ orderitem: 'id'
168
+ }
169
+ let getFile = await http.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {data: data}, {
170
+ warnMsg: null,
171
+ resolveMsg: null
172
+ })
173
+ for (var i = 0; i < getFile.data.length; i++) {
174
+ // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
175
+ if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
176
+ getFile.data.splice(i,1)
177
+ i--
178
+ continue
179
+ }
180
+ let temp = getFile.data[i].f_downloadpath
181
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
182
+ if (temp.startsWith('E:')){
183
+ URL = `rs/image/file/${getFile.data[i].f_filename}`
184
+ }
185
+ console.log(URL)
186
+ getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
187
+ }
188
+ this.fileInfoData = []
189
+ this.fileInfoData = getFile.data
190
+
191
+ },
192
+ convertBase64ToBlob(base64String) {
193
+ // 将base64解码
194
+ var bytes = atob(base64String);
195
+ //var bytes = base64;
196
+ var bytesCode = new ArrayBuffer(bytes.length);
197
+ // 转换为类型化数组
198
+ var byteArray = new Uint8Array(bytesCode);
199
+
200
+ // 将base64转换为ascii码
201
+ for (var i = 0; i < bytes.length; i++) {
202
+ byteArray[i] = bytes.charCodeAt(i);
203
+ }
204
+ // 生成Blob对象(文件对象)
205
+ return new Blob([bytesCode], {type: 'image/jpeg'});
206
+ },
207
+ },
208
+ computed: {
209
+ typeOfUse () {
210
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
211
+ }
212
+ },
213
+ events: {
214
+ onFileUpload: function (file, res) {
215
+ this.$dispatch("resid",res.id)
216
+ this.$dispatch("filename",res)
217
+ this.headers.fremarks=''
218
+ this.close()
219
+ if(this.flag==='safeCheck'){
220
+ this.isupload=false
221
+ }
222
+ },
223
+ beforeFileUpload:function (file) {
224
+ this.loading = true
225
+ },
226
+ onAllFilesUploaded:function (file) {
227
+ this.loading = false
228
+ }
229
+
230
+ },
231
+ watch:{
232
+ //监听blodid值的变化
233
+ 'blodid'(val){
234
+ //tag;
235
+ if (val) {
236
+ //tag;
237
+ this.load()
238
+ }
239
+ }
240
+ },
241
+ }
242
+ </script>
243
+
244
+ <style scoped>
245
+ .clears{
246
+ overflow:hidden;
247
+ text-overflow:ellipsis;
248
+ white-space:nowrap;
249
+ }
250
+ .showData {
251
+ padding: 15px 10px 0px 10px;
252
+ box-sizing: border-box;
253
+ height: 230px;
254
+ font-family: "微软雅黑";
255
+ }
256
+ .showData .item{
257
+ padding-bottom: 10px;
258
+ border-bottom: solid 1px #c1c1c1;
259
+ }
260
+ .left {
261
+ padding-right: 10px;
262
+ }
263
+ .left img{
264
+ height: 100%;
265
+ width: 100%;
266
+ }
267
+ .right{
268
+ height: 100%;
269
+ /*display: -webkit-flex;*/
270
+ /*display: flex;*/
271
+ /*flex-direction: column;*/
272
+ /*justify-content: space-around;*/
273
+ }
274
+ .item_btn{
275
+ width: 80%;
276
+ background-color: #6aa6e2;
277
+ border-radius: 4px;
278
+ color: #FFFFFF;
279
+ font-family: PingFang;
280
+ }
281
+ </style>