apply-clients 7.1.35 → 7.1.38

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 (188) hide show
  1. package/dist-android/static/0.50054aa998577d450157.js +2 -0
  2. package/dist-android/static/1.0b685d8dcbf4f3a8a5b2.js +1 -0
  3. package/dist-android/static/10.2a698c421c0ff5f57336.js +2 -0
  4. package/dist-android/static/11.75a39568e320abbddcc2.js +2 -0
  5. package/dist-android/static/12.4ac0c584da492acc599d.js +1 -0
  6. package/dist-android/static/13.5471bac3b39798923a79.js +1 -0
  7. package/dist-android/static/14.ee274728fdeb5107c357.js +1 -0
  8. package/dist-android/static/15.a1dc233c1804ede2ba87.js +1 -0
  9. package/dist-android/static/16.5081ea8a90d0dacbc748.js +1 -0
  10. package/dist-android/static/17.5b5184c9a9337a88d4f9.js +1 -0
  11. package/dist-android/static/18.0c99e5cb0de0f76008f6.js +1 -0
  12. package/dist-android/static/19.b50c8bf85b8e7fb27e2a.js +1 -0
  13. package/dist-android/static/2.16718caad0da13b463a3.js +1 -0
  14. package/dist-android/static/20.8f6767f58df1fde18784.js +1 -0
  15. package/dist-android/static/21.026f5cbfd90d70d8dd3a.js +1 -0
  16. package/dist-android/static/22.4631f8885615e9b6ad6e.js +1 -0
  17. package/dist-android/static/23.437b569f91863452daeb.js +1 -0
  18. package/dist-android/static/24.f1310985a29496bc5fd8.js +1 -0
  19. package/dist-android/static/25.b6dcf8c6d26f44035506.js +1 -0
  20. package/dist-android/static/27.2185c9e2e7116302e1e1.js +13 -0
  21. package/dist-android/static/28.b429eaf351968226c395.js +3 -0
  22. package/dist-android/static/29.aed6b18ccda9ca3748ce.js +3 -0
  23. package/dist-android/static/3.761de5413a2ed045ab10.js +1 -0
  24. package/dist-android/static/30.567f5fbffc0601227294.js +2 -0
  25. package/dist-android/static/31.179f87c71c11fd562feb.js +1 -0
  26. package/dist-android/static/32.8d45d3f6c5e874582cff.js +1 -0
  27. package/dist-android/static/33.32fd8d2f4e6e7b065a5c.js +1 -0
  28. package/dist-android/static/34.df47f9984baec20bdf5b.js +1 -0
  29. package/dist-android/static/35.5883200f073b546cb1a3.js +1 -0
  30. package/dist-android/static/36.477f89087e507526163f.js +1 -0
  31. package/dist-android/static/37.b82438692bca848519f6.js +1 -0
  32. package/dist-android/static/38.83c950bebdb997be2ef8.js +1 -0
  33. package/dist-android/static/39.333e42c6dbabf1bf2706.js +1 -0
  34. package/dist-android/static/4.eb190515d001a4e1bebd.js +13 -0
  35. package/dist-android/static/40.f6807724af2482375d7c.js +1 -0
  36. package/dist-android/static/41.92f39c44002772179f48.js +1 -0
  37. package/dist-android/static/42.662a0643f36dc759abc0.js +1 -0
  38. package/dist-android/static/43.5b55816aa2ca7b510d72.js +1 -0
  39. package/dist-android/static/44.4a6af5dd359e3973dea4.js +1 -0
  40. package/dist-android/static/45.d5992c604ad9eb4f40d2.js +1 -0
  41. package/dist-android/static/46.aa87912e9361ab053234.js +1 -0
  42. package/dist-android/static/47.b9efca55c1ea582c59e7.js +2 -0
  43. package/dist-android/static/48.8902ce91c715d61c63ef.js +1 -0
  44. package/dist-android/static/49.dd2591b071fe1901d2f2.js +2 -0
  45. package/dist-android/static/5.304b463f21c8253aa514.js +13 -0
  46. package/dist-android/static/50.e49f64d967a7f7350105.js +1 -0
  47. package/dist-android/static/51.0d311b6815373c5a3b1b.js +1 -0
  48. package/dist-android/static/52.344f9d59bb5cb156380d.js +1 -0
  49. package/dist-android/static/53.289984b9a04a7d11ffef.js +1 -0
  50. package/dist-android/static/54.5808cc57ddb689577efe.js +1 -0
  51. package/dist-android/static/55.9874aac28d0d80b55860.js +1 -0
  52. package/dist-android/static/56.babac04ffcc93c5573ed.js +1 -0
  53. package/dist-android/static/57.ca9993d9b0137ec93a81.js +1 -0
  54. package/dist-android/static/58.be8a5ac661eb638aff79.js +1 -0
  55. package/dist-android/static/59.2d0116e8a66e13cbabe2.js +1 -0
  56. package/dist-android/static/6.3f10426d99466042d079.js +13 -0
  57. package/dist-android/static/60.e60b562292633421a3d7.js +1 -0
  58. package/dist-android/static/61.492b25e8e1b66366329b.js +1 -0
  59. package/dist-android/static/62.24924f3f6fd5f97975d1.js +1 -0
  60. package/dist-android/static/63.7628250218be54b5c52f.js +1 -0
  61. package/dist-android/static/64.0c2d7593ebede3d30dc8.js +1 -0
  62. package/dist-android/static/65.220dfd6b1dd8e75c9d08.js +1 -0
  63. package/dist-android/static/66.da91b8ed2181ced4a4de.js +1 -0
  64. package/dist-android/static/67.75a3f13bea3c0ac4bbbe.js +1 -0
  65. package/dist-android/static/68.37aa2fd75666d1461dac.js +1 -0
  66. package/dist-android/static/69.e6a3e52929239e08b8d3.js +1 -0
  67. package/dist-android/static/7.57945431c1f505e425c1.js +13 -0
  68. package/dist-android/static/70.945cf028761bd66a2302.js +1 -0
  69. package/dist-android/static/71.0ae45dcfc105541b051d.js +1 -0
  70. package/dist-android/static/72.d89a35482e9c434d0bd0.js +1 -0
  71. package/dist-android/static/8.830a99f33590aeb637a3.js +13 -0
  72. package/dist-android/static/9.2432be88a7316649f45b.js +12 -0
  73. package/dist-android/static/appca71cf7af0c441a6b6ff.js +135 -0
  74. package/dist-android/static/doc.jpg +0 -0
  75. package/dist-android/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  76. package/dist-android/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  77. package/dist-android/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  78. package/dist-android/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  79. package/dist-android/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  80. package/dist-android/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  81. package/dist-android/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  82. package/dist-android/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  83. package/dist-android/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  84. package/dist-android/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  85. package/dist-android/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  86. package/dist-android/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  87. package/dist-android/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  88. package/dist-android/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  89. package/dist-android/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  90. package/dist-android/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  91. package/dist-android/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  92. package/dist-android/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  93. package/dist-android/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  94. package/dist-android/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  95. package/dist-android/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  96. package/dist-android/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  97. package/dist-android/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  98. package/dist-android/static/imgerror.jpg +0 -0
  99. package/dist-android/static/jsoneditor-icons.svg +893 -0
  100. package/dist-android/static/newStyle/clear.png +0 -0
  101. package/dist-android/static/newStyle/fife.png +0 -0
  102. package/dist-android/static/newStyle/hidden.png +0 -0
  103. package/dist-android/static/newStyle/label-clear.png +0 -0
  104. package/dist-android/static/newStyle/left-img.png +0 -0
  105. package/dist-android/static/newStyle/list_ok.png +0 -0
  106. package/dist-android/static/newStyle/login-check.png +0 -0
  107. package/dist-android/static/newStyle/login-con.png +0 -0
  108. package/dist-android/static/newStyle/login-do.gif +0 -0
  109. package/dist-android/static/newStyle/login-f.png +0 -0
  110. package/dist-android/static/newStyle/login-info.png +0 -0
  111. package/dist-android/static/newStyle/login-left.png +0 -0
  112. package/dist-android/static/newStyle/login-org.png +0 -0
  113. package/dist-android/static/newStyle/login-pwd.png +0 -0
  114. package/dist-android/static/newStyle/login-user.png +0 -0
  115. package/dist-android/static/newStyle/loginbg.gif +0 -0
  116. package/dist-android/static/newStyle/loginbg1280.gif +0 -0
  117. package/dist-android/static/newStyle/loginbg1366.gif +0 -0
  118. package/dist-android/static/newStyle/setting.png +0 -0
  119. package/dist-android/static/newStyle/setting1.png +0 -0
  120. package/dist-android/static/newStyle/shirk.png +0 -0
  121. package/dist-android/static/newStyle/stretch_bottom.png +0 -0
  122. package/dist-android/static/newStyle/stretch_left.png +0 -0
  123. package/dist-android/static/newStyle/stretch_right.png +0 -0
  124. package/dist-android/static/newStyle/stretch_top.png +0 -0
  125. package/dist-android/static/newStyle/system-off.png +0 -0
  126. package/dist-android/static/pdf.jpg +0 -0
  127. package/dist-android/static//344/270/213/350/275/275/350/256/241/345/210/222.png +0 -0
  128. package/dist-android/static//344/273/273/345/212/241/346/237/245/350/257/242.png +0 -0
  129. package/dist-android/static//344/277/241/346/201/257/345/205/254/345/221/212.png +0 -0
  130. package/dist-android/static//345/205/254/345/221/212/346/237/245/347/234/213.png +0 -0
  131. package/dist-android/static//345/206/214/345/206/205/351/241/272/345/272/217/344/277/256/346/224/271.png +0 -0
  132. package/dist-android/static//345/215/241/350/241/250/345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  133. package/dist-android/static//345/234/250/347/272/277/345/256/211/346/243/200.png +0 -0
  134. package/dist-android/static//345/234/250/347/272/277/345/267/241/346/243/200.png +0 -0
  135. package/dist-android/static//345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  136. package/dist-android/static//345/234/250/347/272/277/346/212/242/344/277/256.png +0 -0
  137. package/dist-android/static//345/234/250/347/272/277/346/212/245/350/243/205.png +0 -0
  138. package/dist-android/static//345/234/250/347/272/277/346/223/215/344/275/234.png +0 -0
  139. package/dist-android/static//345/234/250/347/272/277/347/273/264/344/277/256.png +0 -0
  140. package/dist-android/static//345/234/250/347/272/277/347/274/264/350/264/271.png +0 -0
  141. package/dist-android/static//345/234/250/347/272/277/351/200/232/346/260/224.png +0 -0
  142. package/dist-android/static//345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  143. package/dist-android/static//345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  144. package/dist-android/static//345/256/211/346/243/200/346/212/275/345/215/225.png +0 -0
  145. package/dist-android/static//345/256/211/350/243/205/344/270/212/344/274/240.png +0 -0
  146. package/dist-android/static//345/256/211/350/243/205/345/267/262/345/212/236.png +0 -0
  147. package/dist-android/static//345/256/211/350/243/205/345/276/205/345/212/236.png +0 -0
  148. package/dist-android/static//345/267/241/346/243/200/344/270/212/344/274/240.png +0 -0
  149. package/dist-android/static//345/267/241/346/243/200/345/267/262/345/212/236.png +0 -0
  150. package/dist-android/static//345/274/200/345/205/263/351/230/200.png +0 -0
  151. package/dist-android/static//345/275/242/347/212/2664.png +0 -0
  152. package/dist-android/static//346/211/271/351/207/217/346/212/204/350/241/250.png +0 -0
  153. package/dist-android/static//346/212/204/350/241/250/344/270/212/344/274/240.png +0 -0
  154. package/dist-android/static//346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  155. package/dist-android/static//346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  156. package/dist-android/static//346/212/204/350/241/250/350/256/260/345/275/225.png +0 -0
  157. package/dist-android/static//346/212/245/345/273/272/346/234/215/345/212/241.png +0 -0
  158. package/dist-android/static//346/224/266/350/264/271/346/261/207/346/200/273/350/241/250.png +0 -0
  159. package/dist-android/static//346/224/266/350/264/271/350/256/260/345/275/225.png +0 -0
  160. package/dist-android/static//346/227/245/346/212/245/346/237/245/350/257/242.png +0 -0
  161. package/dist-android/static//346/241/243/346/241/210/344/277/256/346/224/271.png +0 -0
  162. package/dist-android/static//346/265/201/347/250/213/344/270/232/345/212/241.png +0 -0
  163. package/dist-android/static//346/265/201/347/250/213/347/233/221/346/216/247.png +0 -0
  164. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250.png +0 -0
  165. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  166. package/dist-android/static//347/273/237/350/256/241/346/212/245/350/241/250.png +0 -0
  167. package/dist-android/static//347/273/264/344/277/256/346/264/276/345/217/221.png +0 -0
  168. package/dist-android/static//350/220/245/344/270/232/345/233/276/350/241/250.png +0 -0
  169. package/dist-android/static//350/241/250/345/206/214/351/241/272/345/272/217.png +0 -0
  170. package/dist-android/static//350/260/203/344/273/267/350/241/245/345/267/256/347/274/264/350/264/271.png +0 -0
  171. package/dist-android/static//350/277/233/345/272/246/345/210/227/350/241/250.png +0 -0
  172. package/dist-android/static//351/200/200/345/207/272/347/231/273/345/275/225.png +0 -0
  173. package/dist-android/static//351/200/201/346/260/224/344/270/212/344/274/240.png +0 -0
  174. package/dist-android/static//351/200/201/346/260/224/345/267/262/345/212/236.png +0 -0
  175. package/dist-android/static//351/200/201/346/260/224/345/276/205/345/212/236.png +0 -0
  176. package/dist-android/static//351/232/220/346/202/243/345/244/204/347/220/206.png +0 -0
  177. package/dist-android/static//351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  178. package/dist-android/static//351/253/230/345/257/206/345/205/254/345/221/212.png +0 -0
  179. package/package.json +1 -1
  180. package/src/components/image/TXT.png +0 -0
  181. package/src/components/image/dwg.png +0 -0
  182. package/src/components/image/dxf.png +0 -0
  183. package/src/components/product/Function/InstallFunction.vue +147 -147
  184. package/src/components/product/Process/ExplorationUser.vue +2 -5
  185. package/src/components/product/Process/Processes/InstallationDetails.vue +520 -484
  186. package/src/components/product/Process/Service/ServiceControl.vue +752 -856
  187. package/src/components/product/Supervisory/SupervisoryControl.vue +121 -121
  188. package/src/components/product/VueUtils/ApplyUpload.vue +266 -261
@@ -1,261 +1,266 @@
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-2" 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-2" style="text-align: center" v-if="isupload">
17
- <button type="button" class="btn btn-primary item_btn" @click="showUpload = !showUpload">本地上传</button>
18
- </div>
19
- <div class="form-group col-sm-2" style="text-align: center" v-if="takeimg">
20
- <button type="button" class="btn btn-primary item_btn" @click="upload()">拍照</button>
21
- </div>
22
- </div>
23
- <hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
24
- <div class="col-sm-12" style="overflow: scroll;height: 75%">
25
- <div :class="bootstraped ? bootstraped + ' showData' : 'col-sm-6 showData'" v-for="row in fileInfoData">
26
- <div class="col-sm-12 item">
27
- <div class="left col-sm-5">
28
- <a href="#" class="thumbnail" style="width: 100%;height: 100%">
29
- <img v-if="row.f_filetype === 'jpg'||row.f_filetype === 'png'||row.f_filetype === 'gif'||row.f_filetype === 'bmp'" :src="row.f_downloadURL" alt="..."/>
30
- <img v-if="row.f_filetype === 'pdf'" src="../../image/pdf.jpg" alt="" />
31
- <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../image/excel.jpg" alt="" />
32
- <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../image/doc.jpg" alt="" />
33
- </a>
34
- </div>
35
- <div class="right col-sm-7">
36
- <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
37
- <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
38
- <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
39
- <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
40
- <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
41
- <p class="clears">
42
- <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>
43
- <a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
44
- <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
45
- </p>
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
- </div>
51
- <high-meter v-if="showhighmeter" :show.sync="showhighmeter" @photo-finish="newPhoto" v-ref:ltgao ></high-meter>
52
- <modal :show.sync="showUpload" v-ref:modal backdrop="false">
53
- <header slot="modal-header" class="modal-header">
54
- <button type="button" class="close" @click="close"><span class="glyphicon glyphicon-remove"></span></button>
55
- <h4 class="modal-title" style="text-align: center">文件上传</h4>
56
- </header>
57
- <article slot="modal-body" class="modal-body form-horizontal">
58
- <div class="form-group" style="text-align: center">
59
- <file-upload class="my-file-uploader" :name="'myFile' + blodid"
60
- action="rs/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file></file-upload>
61
- </div>
62
- <div class="form-group" v-if="isusetype">
63
- <label class="col-sm-2 control-label">文件类型:</label>
64
- <div class="col-sm-10">
65
- <input-select
66
- class="select select_list"
67
- :value.sync="headers.fusetype"
68
- v-model="headers.fusetype"
69
- :options="$appdata.getParam('使用类型')"
70
- :valueSingle="true"></input-select>
71
- </div>
72
- </div>
73
- <div class="form-group" v-if="isremark">
74
- <label class="col-sm-2 control-label">文件说明:</label>
75
- <div class="col-sm-10">
76
- <input class="form-control input_view" style=""
77
- v-model="headers.fremarks"
78
- :value="headers.fremarks"/>
79
- </div>
80
- </div>
81
- </article>
82
- <footer slot="modal-footer" class="modal-footer">
83
- </footer>
84
- </modal>
85
- </template>
86
-
87
- <script>
88
- import {HttpResetClass} from 'vue-client'
89
- export default {
90
- title: '附件',
91
- props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
92
- data () {
93
- return {
94
- fileInfoData: [], // 数据库存储的文件记录对象数组
95
- headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
96
- showUpload: false, // 上传模态框控制
97
- showhighmeter: false, // 高拍仪组件控制
98
- useType: null
99
- }
100
- },
101
- ready () {
102
- this.headers.blodid = this.blodid
103
- this.headers.businessid = this.businessid
104
- this.headers.defname = this.defname
105
- if (this.blodid || this.businessid) {
106
- this.load()
107
- }
108
- },
109
- methods: {
110
- delet(index, row) {
111
- this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
112
- this.$dispatch("delResid",row.id)
113
- this.load()
114
- })
115
- },
116
- // 下载
117
- downloadfile(filepath){
118
- var link = document.createElement('a');
119
- link.href = filepath;
120
- link.target='_blank'
121
- link.dispatchEvent(new MouseEvent('click'));
122
- },
123
- // 关闭文件上传对话框
124
- close () {
125
- this.showUpload = false
126
- // 将选的文件清空
127
- this.$refs.file.$el.querySelector('input').value = ''
128
- this.headers.fusetype = ''
129
- this.headers.fremarks = ''
130
- this.load()
131
- },
132
- // 查询
133
- async load() {
134
- let condition = ''
135
- if(this.businessid){
136
- condition = `f_businessid= '${this.headers.businessid}' `
137
- }else{
138
- condition = `f_blobid= '${this.headers.blodid}' `
139
- }
140
- if(this.useType){
141
- condition += `and fusetype like '${this.useType}'`
142
- }
143
- var http = new HttpResetClass()
144
- let data = {
145
- tablename: 't_files',
146
- condition: condition + ` order by f_uploaddate desc `
147
- }
148
- let getFile = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
149
- warnMsg: null,
150
- resolveMsg: null
151
- })
152
-
153
- for (var i = 0; i < getFile.data.length; i++) {
154
- // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
155
- if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
156
- getFile.data.splice(i,1)
157
- i--
158
- continue
159
- }
160
- let temp = getFile.data[i].f_downloadpath
161
- let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
162
- getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
163
- }
164
- this.fileInfoData = []
165
- this.fileInfoData = getFile.data
166
- },
167
- // 打开高拍仪
168
- upload () {
169
- if(this.showhighmeter){
170
- this.$refs.ltgao.closeVideo()
171
- }
172
- this.showhighmeter = !this.showhighmeter
173
- },
174
- // 高拍仪回调
175
- newPhoto(Imgbase64) {
176
- let form = new FormData()
177
- let xhr = new XMLHttpRequest()
178
- let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
179
- form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
180
- form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
181
- xhr.open("POST", "rs/file/uploadFile")
182
-
183
- if (this.headers) {
184
- for (var header in this.headers) {
185
- xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
186
- }
187
- }
188
- xhr.send(form)
189
- setTimeout(() => {
190
- this.load()
191
- }, 5000)
192
- },
193
- convertBase64ToBlob(base64String) {
194
- // 将base64解码
195
- var bytes = atob(base64String);
196
- //var bytes = base64;
197
- var bytesCode = new ArrayBuffer(bytes.length);
198
- // 转换为类型化数组
199
- var byteArray = new Uint8Array(bytesCode);
200
-
201
- // base64转换为ascii码
202
- for (var i = 0; i < bytes.length; i++) {
203
- byteArray[i] = bytes.charCodeAt(i);
204
- }
205
- // 生成Blob对象(文件对象)
206
- return new Blob([bytesCode], {type: 'image/jpeg'});
207
- },
208
- },
209
- computed: {
210
- typeOfUse () {
211
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
212
- }
213
- },
214
- events: {
215
- onFileUpload: function (file, res) {
216
- this.$dispatch("resid",res.id)
217
- this.headers.fremarks=''
218
- this.close()
219
- }
220
- }
221
- }
222
- </script>
223
-
224
- <style scoped>
225
- .clears{
226
- overflow:hidden;
227
- text-overflow:ellipsis;
228
- white-space:nowrap;
229
- }
230
- .showData {
231
- padding: 15px 10px 0px 10px;
232
- box-sizing: border-box;
233
- height: 230px;
234
- font-family: "微软雅黑";
235
- }
236
- .showData .item{
237
- padding-bottom: 10px;
238
- border-bottom: solid 1px #c1c1c1;
239
- }
240
- .left {
241
- padding-right: 10px;
242
- }
243
- .left img{
244
- height: 100%;
245
- width: 100%;
246
- }
247
- .right{
248
- height: 100%;
249
- /*display: -webkit-flex;*/
250
- /*display: flex;*/
251
- /*flex-direction: column;*/
252
- /*justify-content: space-around;*/
253
- }
254
- .item_btn{
255
- width: 80%;
256
- background-color: #6aa6e2;
257
- border-radius: 4px;
258
- color: #FFFFFF;
259
- font-family: PingFang;
260
- }
261
- </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-2" 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-2" style="text-align: center" v-if="isupload">
17
+ <button type="button" class="btn btn-primary item_btn" @click="showUpload = !showUpload">本地上传</button>
18
+ </div>
19
+ <div class="form-group col-sm-2" style="text-align: center" v-if="takeimg">
20
+ <button type="button" class="btn btn-primary item_btn" @click="upload()">拍照</button>
21
+ </div>
22
+ </div>
23
+ <hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
24
+ <div class="col-sm-12" style="overflow: scroll;height: 75%">
25
+ <div :class="bootstraped ? bootstraped + ' showData' : 'col-sm-6 showData'" v-for="row in fileInfoData">
26
+ <div class="col-sm-12 item">
27
+ <div class="left col-sm-5">
28
+ <a href="#" class="thumbnail" style="width: 100%;height: 100%">
29
+ <img v-if="row.f_filetype === 'jpg'||row.f_filetype === 'png'||row.f_filetype === 'gif'||row.f_filetype === 'bmp'" :src="row.f_downloadURL" alt="..."/>
30
+ <img v-if="row.f_filetype === 'pdf'" src="../../image/pdf.jpg" alt="" />
31
+ <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../image/excel.jpg" alt="" />
32
+ <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../image/doc.jpg" alt="" />
33
+ <img v-if="row.f_filetype === 'txt'" src="../../image/TXT.png" alt="" />
34
+ <img v-if="row.f_filetype === 'dwg'" src="../../image/dwg.png" alt="" />
35
+ <img v-if="row.f_filetype === 'dxf'" src="../../image/dxf.png" alt="" />
36
+ </a>
37
+ </div>
38
+ <div class="right col-sm-7">
39
+ <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
40
+ <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
41
+ <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
42
+ <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
43
+ <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
44
+ <p class="clears">
45
+ <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>
46
+ <a v-if="row.f_filetype === 'dwg' || row.f_filetype==='dxf'" style="background:#6aa6e2" class="btn btn-primary" :href="row.f_downloadURL" role="button" download>下载</a>
47
+ <a v-if="row.f_filetype !=='jpg' && row.f_filetype !=='png' && row.f_filetype !=='gif' && row.f_filetype !=='bmp' && row.f_filetype !=='dxf' && row.f_filetype !=='dwg'"
48
+ @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
49
+ <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
50
+ </p>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ <high-meter v-if="showhighmeter" :show.sync="showhighmeter" @photo-finish="newPhoto" v-ref:ltgao ></high-meter>
57
+ <modal :show.sync="showUpload" v-ref:modal backdrop="false">
58
+ <header slot="modal-header" class="modal-header">
59
+ <button type="button" class="close" @click="close"><span class="glyphicon glyphicon-remove"></span></button>
60
+ <h4 class="modal-title" style="text-align: center">文件上传</h4>
61
+ </header>
62
+ <article slot="modal-body" class="modal-body form-horizontal">
63
+ <div class="form-group" style="text-align: center">
64
+ <file-upload class="my-file-uploader" :name="'myFile' + blodid"
65
+ action="apply/rs/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file></file-upload>
66
+ </div>
67
+ <div class="form-group" v-if="isusetype">
68
+ <label class="col-sm-2 control-label">文件类型:</label>
69
+ <div class="col-sm-10">
70
+ <input-select
71
+ class="select select_list"
72
+ :value.sync="headers.fusetype"
73
+ v-model="headers.fusetype"
74
+ :options="$appdata.getParam('使用类型')"
75
+ :valueSingle="true"></input-select>
76
+ </div>
77
+ </div>
78
+ <div class="form-group" v-if="isremark">
79
+ <label class="col-sm-2 control-label">文件说明:</label>
80
+ <div class="col-sm-10">
81
+ <input class="form-control input_view" style=""
82
+ v-model="headers.fremarks"
83
+ :value="headers.fremarks"/>
84
+ </div>
85
+ </div>
86
+ </article>
87
+ <footer slot="modal-footer" class="modal-footer">
88
+ </footer>
89
+ </modal>
90
+ </template>
91
+
92
+ <script>
93
+ import {HttpResetClass} from 'vue-client'
94
+ export default {
95
+ title: '附件',
96
+ props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
97
+ data () {
98
+ return {
99
+ fileInfoData: [], // 数据库存储的文件记录对象数组
100
+ headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
101
+ showUpload: false, // 上传模态框控制
102
+ showhighmeter: false, // 高拍仪组件控制
103
+ useType: null
104
+ }
105
+ },
106
+ ready () {
107
+ this.headers.blodid = this.blodid
108
+ this.headers.businessid = this.businessid
109
+ this.headers.defname = this.defname
110
+ if (this.blodid || this.businessid) {
111
+ this.load()
112
+ }
113
+ },
114
+ methods: {
115
+ delet(index, row) {
116
+ this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
117
+ this.$dispatch("delResid",row.id)
118
+ this.load()
119
+ })
120
+ },
121
+ // 下载
122
+ downloadfile(filepath){
123
+ var link = document.createElement('a');
124
+ link.href = filepath;
125
+ link.target='_blank'
126
+ link.dispatchEvent(new MouseEvent('click'));
127
+ },
128
+ // 关闭文件上传对话框
129
+ close () {
130
+ this.showUpload = false
131
+ // 将选的文件清空
132
+ this.$refs.file.$el.querySelector('input').value = ''
133
+ this.headers.fusetype = ''
134
+ this.headers.fremarks = ''
135
+ this.load()
136
+ },
137
+ // 查询
138
+ async load() {
139
+ let condition = ''
140
+ if(this.businessid){
141
+ condition = `f_businessid= '${this.headers.businessid}' `
142
+ }else{
143
+ condition = `f_blobid= '${this.headers.blodid}' `
144
+ }
145
+ if(this.useType){
146
+ condition += `and fusetype like '${this.useType}'`
147
+ }
148
+ var http = new HttpResetClass()
149
+ let data = {
150
+ tablename: 't_files',
151
+ condition: condition + ` order by f_uploaddate desc `
152
+ }
153
+ let getFile = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
154
+ warnMsg: null,
155
+ resolveMsg: null
156
+ })
157
+
158
+ for (var i = 0; i < getFile.data.length; i++) {
159
+ // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
160
+ // if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
161
+ // getFile.data.splice(i,1)
162
+ // i--
163
+ // continue
164
+ // }
165
+ let temp = getFile.data[i].f_downloadpath
166
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
167
+ getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
168
+ }
169
+ this.fileInfoData = []
170
+ this.fileInfoData = getFile.data
171
+ },
172
+ // 打开高拍仪
173
+ upload () {
174
+ if(this.showhighmeter){
175
+ this.$refs.ltgao.closeVideo()
176
+ }
177
+ this.showhighmeter = !this.showhighmeter
178
+ },
179
+ // 高拍仪回调
180
+ newPhoto(Imgbase64) {
181
+ let form = new FormData()
182
+ let xhr = new XMLHttpRequest()
183
+ let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
184
+ form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
185
+ form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
186
+ xhr.open("POST", "rs/file/uploadFile")
187
+
188
+ if (this.headers) {
189
+ for (var header in this.headers) {
190
+ xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
191
+ }
192
+ }
193
+ xhr.send(form)
194
+ setTimeout(() => {
195
+ this.load()
196
+ }, 5000)
197
+ },
198
+ convertBase64ToBlob(base64String) {
199
+ // 将base64解码
200
+ var bytes = atob(base64String);
201
+ //var bytes = base64;
202
+ var bytesCode = new ArrayBuffer(bytes.length);
203
+ // 转换为类型化数组
204
+ var byteArray = new Uint8Array(bytesCode);
205
+
206
+ // 将base64转换为ascii码
207
+ for (var i = 0; i < bytes.length; i++) {
208
+ byteArray[i] = bytes.charCodeAt(i);
209
+ }
210
+ // 生成Blob对象(文件对象)
211
+ return new Blob([bytesCode], {type: 'image/jpeg'});
212
+ },
213
+ },
214
+ computed: {
215
+ typeOfUse () {
216
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
217
+ }
218
+ },
219
+ events: {
220
+ onFileUpload: function (file, res) {
221
+ this.$dispatch("resid",res.id)
222
+ this.headers.fremarks=''
223
+ this.close()
224
+ }
225
+ }
226
+ }
227
+ </script>
228
+
229
+ <style scoped>
230
+ .clears{
231
+ overflow:hidden;
232
+ text-overflow:ellipsis;
233
+ white-space:nowrap;
234
+ }
235
+ .showData {
236
+ padding: 15px 10px 0px 10px;
237
+ box-sizing: border-box;
238
+ height: 230px;
239
+ font-family: "微软雅黑";
240
+ }
241
+ .showData .item{
242
+ padding-bottom: 10px;
243
+ border-bottom: solid 1px #c1c1c1;
244
+ }
245
+ .left {
246
+ padding-right: 10px;
247
+ }
248
+ .left img{
249
+ height: 100%;
250
+ width: 100%;
251
+ }
252
+ .right{
253
+ height: 100%;
254
+ /*display: -webkit-flex;*/
255
+ /*display: flex;*/
256
+ /*flex-direction: column;*/
257
+ /*justify-content: space-around;*/
258
+ }
259
+ .item_btn{
260
+ width: 80%;
261
+ background-color: #6aa6e2;
262
+ border-radius: 4px;
263
+ color: #FFFFFF;
264
+ font-family: PingFang;
265
+ }
266
+ </style>