safecheck-client 4.0.1-1 → 4.0.1-10

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 (268) 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/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/FileUpload.vue +696 -696
  188. package/src/components/Hello.vue +39 -39
  189. package/src/components/LeftTree.vue +27 -27
  190. package/src/components/NewDefectList/DefectListNew.vue +3 -0
  191. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  192. package/src/components/Util/SafecheckUpload.vue +281 -281
  193. package/src/components/android/AttendanceTally.vue +116 -116
  194. package/src/components/android/Blank.vue +10 -10
  195. package/src/components/android/CheckUnplanPage.vue +56 -56
  196. package/src/components/android/Checker.vue +12 -12
  197. package/src/components/android/CheckerAnnual.vue +81 -81
  198. package/src/components/android/CheckerAvarta.vue +82 -82
  199. package/src/components/android/EquipmentInspection.vue +348 -348
  200. package/src/components/android/FootprintMap.vue +120 -120
  201. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  202. package/src/components/android/MasterMain.vue +77 -77
  203. package/src/components/android/Menu.vue +132 -132
  204. package/src/components/android/PaperAlarm.vue +85 -85
  205. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  206. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  207. package/src/components/android/PlumberAnnual.vue +83 -83
  208. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  209. package/src/components/android/PlumberMonthly.vue +84 -84
  210. package/src/components/android/PostMap.vue +83 -83
  211. package/src/components/android/QueryCheckHistory.vue +122 -122
  212. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  213. package/src/components/android/RepairMain.vue +60 -60
  214. package/src/components/android/Repairman.vue +12 -12
  215. package/src/components/android/SafeRightTree.vue +4 -3
  216. package/src/components/android/SafecheckDevices.vue +1340 -1340
  217. package/src/components/android/StationMaster.vue +12 -12
  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/PaperList.vue +797 -797
  224. package/src/components/paper/PicViewer.vue +18 -18
  225. package/src/components/pc/CheckBook.vue +303 -303
  226. package/src/components/pc/CheckBookArea.vue +146 -146
  227. package/src/components/pc/CheckBookCompany.vue +144 -144
  228. package/src/components/pc/CheckBookDetails.vue +161 -161
  229. package/src/components/pc/CheckBookEntry.vue +60 -60
  230. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  231. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  232. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  233. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  234. package/src/components/pc/CheckBookUser.vue +337 -333
  235. package/src/components/pc/PaperDefectMain.vue +880 -880
  236. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  237. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  238. package/src/components/phonestate/PostMap.vue +82 -82
  239. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  240. package/src/components/userfile/MeterFile.vue +145 -145
  241. package/src/components/userfile/MeterModify.vue +46 -46
  242. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  243. package/src/filiale/jinhong/pc/CheckBookList.vue +388 -388
  244. package/src/filiale/jinhong/pc/DefectPaperNew.vue +1100 -1100
  245. package/src/filiale/jinhong/pc/checkUserList.vue +1 -2
  246. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  247. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  248. package/src/filiale/meihekou/android/CurrentCreate.vue +1038 -1038
  249. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -1542
  250. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -1340
  251. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2431 -2421
  252. package/src/filiale/meihekou/android.js +22 -22
  253. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2027 -2027
  254. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1 -0
  255. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2 -0
  256. package/src/main.js +33 -33
  257. package/src/plugins/LoadData.js +10 -10
  258. package/src/plugins/LoadParams.js +24 -24
  259. package/src/stores/wxconfig.js +10 -10
  260. package/src/utils/getNowDate.js +33 -33
  261. package/test/e2e/custom-assertions/elementCount.js +26 -26
  262. package/test/e2e/nightwatch.conf.js +40 -40
  263. package/test/e2e/runner.js +30 -30
  264. package/test/e2e/specs/test.js +13 -13
  265. package/test/unit/.eslintrc +5 -5
  266. package/test/unit/TestUtil.js +62 -62
  267. package/test/unit/context.html +20 -20
  268. 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>