apply-clients 3.4.98-2 → 3.4.98-21

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 (73) hide show
  1. package/build/dev-server.js +2 -10
  2. package/package.json +3 -2
  3. package/src/App.vue +6 -11
  4. package/src/applyAndroid.js +1 -0
  5. package/src/components/android/AppSign.vue +9 -10
  6. package/src/components/android/Ignition/VentilationIgnition.vue +312 -312
  7. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +353 -353
  8. package/src/components/android/Process/AppServiceControl.vue +1738 -1734
  9. package/src/components/product/ApplyCharge/ApplyChargeList.vue +476 -476
  10. package/src/components/product/Function/InstallInfoSelect.vue +326 -326
  11. package/src/components/product/Ignition/IgnitionListManage.vue +420 -420
  12. package/src/components/product/Install/ContractCharge.vue +210 -210
  13. package/src/components/product/Material/MaterialDetailed.vue +268 -268
  14. package/src/components/product/Material/Materiallist.vue +74 -74
  15. package/src/components/product/Material/Materialmanger.vue +58 -58
  16. package/src/components/product/Process/ExplorationSelect.vue +491 -491
  17. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +203 -203
  18. package/src/components/product/Process/Service/ServiceControl.vue +2 -2
  19. package/src/components/product/Process/ShowBackReason.vue +40 -40
  20. package/src/components/product/Stop/StopApplyList.vue +278 -278
  21. package/src/components/product/Supervisory/SupervisoryControl.vue +140 -140
  22. package/src/components/product/Supervisory/SupervisoryList.vue +27 -0
  23. package/src/filiale/gongyi/pc/ServiceControl.vue +1926 -0
  24. package/src/filiale/gongyi/pc.js +6 -0
  25. package/src/filiale/guzhou/pc/ServiceControl.vue +1926 -0
  26. package/src/filiale/guzhou/pc.js +6 -0
  27. package/src/filiale/hongda/pc/FunctionServiceControl.vue +21 -0
  28. package/src/filiale/hongda/pc/printChargepc.vue +114 -114
  29. package/src/filiale/hongda/pc/printactivatecard.vue +151 -151
  30. package/src/filiale/hongda/pc/printrefit.vue +3 -1
  31. package/src/filiale/huayinyihua/pc/StopApplyList.vue +271 -0
  32. package/src/filiale/huayinyihua/pc/SupervisoryList.vue +363 -0
  33. package/src/filiale/huayinyihua/pc.js +7 -0
  34. package/src/filiale/linzhou/pc/ApplyChargeList.vue +486 -486
  35. package/src/filiale/linzhou/pc/ServiceControl.vue +1968 -1968
  36. package/src/filiale/linzhou/pc/devicesManagement.vue +494 -494
  37. package/src/filiale/linzhou/pc.js +10 -10
  38. package/src/filiale/qianneng/android/AppAddMaterialScience.vue +477 -477
  39. package/src/filiale/qianneng/android/AppExplorationUser.vue +447 -447
  40. package/src/filiale/qianneng/android/AppServiceControl.vue +1608 -1608
  41. package/src/filiale/qianneng/android/AppServiceView.vue +761 -761
  42. package/src/filiale/qianneng/android/AppSign.vue +152 -152
  43. package/src/filiale/qianneng/android/AppTakePic.vue +140 -140
  44. package/src/filiale/qianneng/android.js +12 -12
  45. package/src/filiale/qianneng/pc/ApplyUpload.vue +290 -290
  46. package/src/filiale/qianneng/pc/Applybatchdispatch.vue +685 -685
  47. package/src/filiale/qianneng/pc/ExplorationUser.vue +189 -189
  48. package/src/filiale/qianneng/pc/InstallationDetails.vue +561 -561
  49. package/src/filiale/qianneng/pc/ServiceView.vue +1118 -1118
  50. package/src/filiale/qianneng/pc/SupervisoryList.vue +344 -344
  51. package/src/filiale/qianneng/pc/SupervisoryhCart.vue +127 -127
  52. package/src/filiale/qianneng/pc/addMaterialScience.vue +464 -464
  53. package/src/filiale/qianneng/pc/addressAndUserinfoManagement.vue +389 -389
  54. package/src/filiale/qianneng/pc/devicesManagement.vue +484 -484
  55. package/src/filiale/qianneng/pc/printactivatecard.vue +295 -295
  56. package/src/filiale/qianneng/pc.js +26 -26
  57. package/src/filiale/yangchunboneng/android/AppAddMaterialScience.vue +390 -0
  58. package/src/filiale/yangchunboneng/android/AppChargeManagement.vue +108 -0
  59. package/src/filiale/yangchunboneng/android/AppDevicesManagement.vue +552 -0
  60. package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +507 -0
  61. package/src/filiale/yangchunboneng/android/chargesList.vue +173 -0
  62. package/src/filiale/yangchunboneng/android.js +6 -0
  63. package/src/filiale/yangchunboneng/pc/ApplyChargeList.vue +594 -546
  64. package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +375 -375
  65. package/src/filiale/yangchunboneng/pc/ExplorationSelect.vue +469 -469
  66. package/src/filiale/yangchunboneng/pc/InstallInfoSelect.vue +364 -357
  67. package/src/filiale/yangchunboneng/pc/ServiceControl.vue +1739 -1734
  68. package/src/filiale/yangchunboneng/pc/ServiceView.vue +1004 -0
  69. package/src/filiale/yangchunboneng/pc/addMaterialScience.vue +374 -0
  70. package/src/filiale/yangchunboneng/pc/chargeManagement.vue +955 -1011
  71. package/src/filiale/yangchunboneng/pc/devicesManagement.vue +511 -0
  72. package/src/filiale/yangchunboneng/pc.js +16 -13
  73. package/src/main.js +1 -1
@@ -1,290 +1,290 @@
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="../../../components/image/pdf.jpg" alt="" />
31
- <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../../components/image/excel.jpg" alt="" />
32
- <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../../components/image/doc.jpg" alt="" />
33
- <img v-if="row.f_filetype === 'dwg'" src="../../../components/image/dwg.jpg" alt="" />
34
- <img v-if="row.f_filetype === 'txt'" src="../../../components/image/txt.jpg" alt="" />
35
- </a>
36
- </div>
37
- <div class="right col-sm-7">
38
- <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
39
- <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
40
- <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
41
- <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
42
- <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
43
- <p class="clears">
44
- <a v-if="row.f_filetype === 'jpg' || row.f_filetype === 'txt' || row.f_filetype === 'dwg' || 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>
45
- <a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
46
- <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
47
- </p>
48
- </div>
49
- </div>
50
- </div>
51
- </div>
52
- </div>
53
- <apply-high-meter
54
- v-if="showhighmeter"
55
- :show.sync="showhighmeter"
56
- :isusetype="isusetype"
57
- :isremark="isremark"
58
- @photo-finish="newPhoto"
59
- v-ref:ltgao
60
- ></apply-high-meter>
61
- <modal :show.sync="showUpload" v-ref:modal backdrop="false">
62
- <header slot="modal-header" class="modal-header">
63
- <button type="button" class="close" @click="close"><span class="glyphicon glyphicon-remove"></span></button>
64
- <h4 class="modal-title" style="text-align: center">文件上传</h4>
65
- </header>
66
- <article slot="modal-body" class="modal-body form-horizontal">
67
- <div class="form-group" style="text-align: center">
68
- <file-upload class="my-file-uploader" :name="'myFile' + blodid"
69
- action="rs/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file></file-upload>
70
- </div>
71
- <div class="form-group" v-if="isusetype">
72
- <label class="col-sm-2 control-label">文件类型:</label>
73
- <div class="col-sm-10">
74
- <input-select
75
- class="select select_list"
76
- :value.sync="headers.fusetype"
77
- v-model="headers.fusetype"
78
- :options="$appdata.getParam('报建-使用类型')"
79
- :valueSingle="true"></input-select>
80
- </div>
81
- </div>
82
- <div class="form-group" v-if="isremark">
83
- <label class="col-sm-2 control-label">文件说明:</label>
84
- <div class="col-sm-10">
85
- <input class="form-control input_view" style=""
86
- v-model="headers.fremarks"
87
- :value="headers.fremarks"/>
88
- </div>
89
- </div>
90
- </article>
91
- <footer slot="modal-footer" class="modal-footer">
92
- </footer>
93
- </modal>
94
- </template>
95
-
96
- <script>
97
- import {HttpResetClass} from 'vue-client'
98
- import {isEmpty} from "../../../components/Util";
99
- export default {
100
- title: '附件',
101
- props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
102
- data () {
103
- return {
104
- fileInfoData: [], // 数据库存储的文件记录对象数组
105
- headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
106
- showUpload: false, // 上传模态框控制
107
- showhighmeter: false, // 高拍仪组件控制
108
- useType: null
109
- }
110
- },
111
- ready () {
112
- this.headers.blodid = this.blodid
113
- this.headers.businessid = this.businessid
114
- this.headers.defname = this.defname
115
- if (this.blodid || this.businessid) {
116
- this.load()
117
- }
118
- },
119
- methods: {
120
- delet(index, row) {
121
- this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
122
- this.$dispatch("delResid",row.id)
123
- this.load()
124
- })
125
- },
126
- // 下载
127
- downloadfile(filepath){
128
- var link = document.createElement('a');
129
- link.href = filepath;
130
- link.target='_blank'
131
- link.dispatchEvent(new MouseEvent('click'));
132
- },
133
- // 关闭文件上传对话框
134
- close () {
135
- this.showUpload = false
136
- this.showhighmeter = false
137
- // 将选的文件清空
138
- this.$refs.file.$el.querySelector('input').value = ''
139
- this.headers.fusetype = ''
140
- this.headers.fremarks = ''
141
- this.load()
142
- },
143
- // 查询
144
- async load() {
145
- let condition = ''
146
- if(!isEmpty(this.businessid)){
147
- condition = `f_businessid= '${this.headers.businessid}' `
148
- }else{
149
- condition = `f_blobid= '${this.headers.blodid}' `
150
- }
151
- if (!isEmpty(this.useType)) {
152
- condition += `and fusetype like '${this.useType}'`
153
- }
154
- if (!this.$login.f.rolesnames.includes('市场部报装') && !this.$login.f.rolesnames.includes('财务部报装') ){
155
- condition += ` and defname not in ('合同签订','报装缴费','市场部审核','财务审核')`
156
- }
157
- let http = new HttpResetClass()
158
- let data = {
159
- tablename: 't_files',
160
- condition: condition + ` order by f_uploaddate desc `
161
- }
162
- let getFile = await http.load('POST', 'rs/sql/apply_singleTable', {data: data}, {
163
- warnMsg: null,
164
- resolveMsg: null
165
- })
166
-
167
- for (var i = 0; i < getFile.data.length; i++) {
168
- // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
169
- if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
170
- getFile.data.splice(i,1)
171
- i--
172
- continue
173
- }
174
- let temp = getFile.data[i].f_downloadpath
175
- let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
176
- getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
177
- }
178
- for (var i = 0; i < getFile.data.length; i++) {
179
- if(getFile.data[i].f_downloadpath.includes('http:')){
180
- let temp = getFile.data[i].f_downloadpath
181
- getFile.data[i].f_downloadURL = temp
182
- console.log('打印',i)
183
- }else{
184
- let temp = getFile.data[i].f_downloadpath
185
- let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
186
- getFile.data[i].f_downloadURL ="http://" + location.host + "/" + URL
187
- }
188
-
189
- }
190
- this.fileInfoData = []
191
- this.fileInfoData = getFile.data
192
- },
193
- // 打开高拍仪
194
- upload () {
195
- if(this.showhighmeter){
196
- this.$refs.ltgao.closeVideo()
197
- }
198
- this.showhighmeter = !this.showhighmeter
199
- },
200
- // 高拍仪回调
201
- newPhoto(Imgbase64, fusetype, fremarks) {
202
- this.headers.fusetype = fusetype
203
- this.headers.fremarks = fremarks
204
-
205
- let form = new FormData()
206
- let xhr = new XMLHttpRequest()
207
- let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
208
- form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
209
- form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
210
- xhr.open("POST", "rs/file/uploadFile")
211
-
212
- if (this.headers) {
213
- for (var header in this.headers) {
214
- xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
215
- }
216
- }
217
- xhr.send(form)
218
- setTimeout(() => {
219
- this.close()
220
- }, 5000)
221
- },
222
- convertBase64ToBlob(base64String) {
223
- // 将base64解码
224
- var bytes = atob(base64String);
225
- //var bytes = base64;
226
- var bytesCode = new ArrayBuffer(bytes.length);
227
- // 转换为类型化数组
228
- var byteArray = new Uint8Array(bytesCode);
229
-
230
- // 将base64转换为ascii码
231
- for (var i = 0; i < bytes.length; i++) {
232
- byteArray[i] = bytes.charCodeAt(i);
233
- }
234
- // 生成Blob对象(文件对象)
235
- return new Blob([bytesCode], {type: 'image/jpeg'});
236
- },
237
- },
238
- computed: {
239
- typeOfUse () {
240
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建-使用类型')]
241
- }
242
- },
243
- events: {
244
- onFileUpload: function (file, res) {
245
- this.$dispatch("resid",res.id)
246
- this.headers.fremarks=''
247
- this.close()
248
- }
249
- }
250
- }
251
- </script>
252
-
253
- <style scoped>
254
- .clears{
255
- overflow:hidden;
256
- text-overflow:ellipsis;
257
- white-space:nowrap;
258
- }
259
- .showData {
260
- padding: 15px 10px 0px 10px;
261
- box-sizing: border-box;
262
- height: 230px;
263
- font-family: "微软雅黑";
264
- }
265
- .showData .item{
266
- padding-bottom: 10px;
267
- border-bottom: solid 1px #c1c1c1;
268
- }
269
- .left {
270
- padding-right: 10px;
271
- }
272
- .left img{
273
- height: 100%;
274
- width: 100%;
275
- }
276
- .right{
277
- height: 100%;
278
- /*display: -webkit-flex;*/
279
- /*display: flex;*/
280
- /*flex-direction: column;*/
281
- /*justify-content: space-around;*/
282
- }
283
- .item_btn{
284
- width: 80%;
285
- background-color: #6aa6e2;
286
- border-radius: 4px;
287
- color: #FFFFFF;
288
- font-family: PingFang;
289
- }
290
- </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="../../../components/image/pdf.jpg" alt="" />
31
+ <img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../../../components/image/excel.jpg" alt="" />
32
+ <img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../../../components/image/doc.jpg" alt="" />
33
+ <img v-if="row.f_filetype === 'dwg'" src="../../../components/image/dwg.jpg" alt="" />
34
+ <img v-if="row.f_filetype === 'txt'" src="../../../components/image/txt.jpg" alt="" />
35
+ </a>
36
+ </div>
37
+ <div class="right col-sm-7">
38
+ <p :title="row.f_filename" class="clears"><strong>文件名:</strong>{{row.f_filename}}</p>
39
+ <p :title="row.f_username" class="clears"><strong>操作员:</strong><span>{{row.f_username}}</span></p>
40
+ <p :title="row.fusetype" class="clears"><strong>使用类型:</strong><span>{{row.fusetype}}</span></p>
41
+ <p :title="row.f_uploaddate" class="clears"><strong>上传时间:</strong><span>{{row.f_uploaddate}}</span></p>
42
+ <p :title="row.fremarks" class="clears"><strong>文件说明:</strong>{{row.fremarks}}</p>
43
+ <p class="clears">
44
+ <a v-if="row.f_filetype === 'jpg' || row.f_filetype === 'txt' || row.f_filetype === 'dwg' || 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>
45
+ <a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary" role="button">下载</a>
46
+ <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>
47
+ </p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <apply-high-meter
54
+ v-if="showhighmeter"
55
+ :show.sync="showhighmeter"
56
+ :isusetype="isusetype"
57
+ :isremark="isremark"
58
+ @photo-finish="newPhoto"
59
+ v-ref:ltgao
60
+ ></apply-high-meter>
61
+ <modal :show.sync="showUpload" v-ref:modal backdrop="false">
62
+ <header slot="modal-header" class="modal-header">
63
+ <button type="button" class="close" @click="close"><span class="glyphicon glyphicon-remove"></span></button>
64
+ <h4 class="modal-title" style="text-align: center">文件上传</h4>
65
+ </header>
66
+ <article slot="modal-body" class="modal-body form-horizontal">
67
+ <div class="form-group" style="text-align: center">
68
+ <file-upload class="my-file-uploader" :name="'myFile' + blodid"
69
+ action="rs/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file></file-upload>
70
+ </div>
71
+ <div class="form-group" v-if="isusetype">
72
+ <label class="col-sm-2 control-label">文件类型:</label>
73
+ <div class="col-sm-10">
74
+ <input-select
75
+ class="select select_list"
76
+ :value.sync="headers.fusetype"
77
+ v-model="headers.fusetype"
78
+ :options="$appdata.getParam('报建-使用类型')"
79
+ :valueSingle="true"></input-select>
80
+ </div>
81
+ </div>
82
+ <div class="form-group" v-if="isremark">
83
+ <label class="col-sm-2 control-label">文件说明:</label>
84
+ <div class="col-sm-10">
85
+ <input class="form-control input_view" style=""
86
+ v-model="headers.fremarks"
87
+ :value="headers.fremarks"/>
88
+ </div>
89
+ </div>
90
+ </article>
91
+ <footer slot="modal-footer" class="modal-footer">
92
+ </footer>
93
+ </modal>
94
+ </template>
95
+
96
+ <script>
97
+ import {HttpResetClass} from 'vue-client'
98
+ import {isEmpty} from "../../../components/Util";
99
+ export default {
100
+ title: '附件',
101
+ props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
102
+ data () {
103
+ return {
104
+ fileInfoData: [], // 数据库存储的文件记录对象数组
105
+ headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':''}, // 调用rs/file/uploadFile 的参数
106
+ showUpload: false, // 上传模态框控制
107
+ showhighmeter: false, // 高拍仪组件控制
108
+ useType: null
109
+ }
110
+ },
111
+ ready () {
112
+ this.headers.blodid = this.blodid
113
+ this.headers.businessid = this.businessid
114
+ this.headers.defname = this.defname
115
+ if (this.blodid || this.businessid) {
116
+ this.load()
117
+ }
118
+ },
119
+ methods: {
120
+ delet(index, row) {
121
+ this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
122
+ this.$dispatch("delResid",row.id)
123
+ this.load()
124
+ })
125
+ },
126
+ // 下载
127
+ downloadfile(filepath){
128
+ var link = document.createElement('a');
129
+ link.href = filepath;
130
+ link.target='_blank'
131
+ link.dispatchEvent(new MouseEvent('click'));
132
+ },
133
+ // 关闭文件上传对话框
134
+ close () {
135
+ this.showUpload = false
136
+ this.showhighmeter = false
137
+ // 将选的文件清空
138
+ this.$refs.file.$el.querySelector('input').value = ''
139
+ this.headers.fusetype = ''
140
+ this.headers.fremarks = ''
141
+ this.load()
142
+ },
143
+ // 查询
144
+ async load() {
145
+ let condition = ''
146
+ if(!isEmpty(this.businessid)){
147
+ condition = `f_businessid= '${this.headers.businessid}' `
148
+ }else{
149
+ condition = `f_blobid= '${this.headers.blodid}' `
150
+ }
151
+ if (!isEmpty(this.useType)) {
152
+ condition += `and fusetype like '${this.useType}'`
153
+ }
154
+ if (!this.$login.f.rolesnames.includes('市场部报装') && !this.$login.f.rolesnames.includes('财务部报装') ){
155
+ condition += ` and defname not in ('合同签订','报装缴费','市场部审核','财务审核')`
156
+ }
157
+ let http = new HttpResetClass()
158
+ let data = {
159
+ tablename: 't_files',
160
+ condition: condition + ` order by f_uploaddate desc `
161
+ }
162
+ let getFile = await http.load('POST', 'rs/sql/apply_singleTable', {data: data}, {
163
+ warnMsg: null,
164
+ resolveMsg: null
165
+ })
166
+
167
+ for (var i = 0; i < getFile.data.length; i++) {
168
+ // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
169
+ if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
170
+ getFile.data.splice(i,1)
171
+ i--
172
+ continue
173
+ }
174
+ let temp = getFile.data[i].f_downloadpath
175
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
176
+ getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
177
+ }
178
+ for (var i = 0; i < getFile.data.length; i++) {
179
+ if(getFile.data[i].f_downloadpath.includes('http:')){
180
+ let temp = getFile.data[i].f_downloadpath
181
+ getFile.data[i].f_downloadURL = temp
182
+ console.log('打印',i)
183
+ }else{
184
+ let temp = getFile.data[i].f_downloadpath
185
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
186
+ getFile.data[i].f_downloadURL ="http://" + location.host + "/" + URL
187
+ }
188
+
189
+ }
190
+ this.fileInfoData = []
191
+ this.fileInfoData = getFile.data
192
+ },
193
+ // 打开高拍仪
194
+ upload () {
195
+ if(this.showhighmeter){
196
+ this.$refs.ltgao.closeVideo()
197
+ }
198
+ this.showhighmeter = !this.showhighmeter
199
+ },
200
+ // 高拍仪回调
201
+ newPhoto(Imgbase64, fusetype, fremarks) {
202
+ this.headers.fusetype = fusetype
203
+ this.headers.fremarks = fremarks
204
+
205
+ let form = new FormData()
206
+ let xhr = new XMLHttpRequest()
207
+ let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
208
+ form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
209
+ form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
210
+ xhr.open("POST", "rs/file/uploadFile")
211
+
212
+ if (this.headers) {
213
+ for (var header in this.headers) {
214
+ xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
215
+ }
216
+ }
217
+ xhr.send(form)
218
+ setTimeout(() => {
219
+ this.close()
220
+ }, 5000)
221
+ },
222
+ convertBase64ToBlob(base64String) {
223
+ // 将base64解码
224
+ var bytes = atob(base64String);
225
+ //var bytes = base64;
226
+ var bytesCode = new ArrayBuffer(bytes.length);
227
+ // 转换为类型化数组
228
+ var byteArray = new Uint8Array(bytesCode);
229
+
230
+ // 将base64转换为ascii码
231
+ for (var i = 0; i < bytes.length; i++) {
232
+ byteArray[i] = bytes.charCodeAt(i);
233
+ }
234
+ // 生成Blob对象(文件对象)
235
+ return new Blob([bytesCode], {type: 'image/jpeg'});
236
+ },
237
+ },
238
+ computed: {
239
+ typeOfUse () {
240
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建-使用类型')]
241
+ }
242
+ },
243
+ events: {
244
+ onFileUpload: function (file, res) {
245
+ this.$dispatch("resid",res.id)
246
+ this.headers.fremarks=''
247
+ this.close()
248
+ }
249
+ }
250
+ }
251
+ </script>
252
+
253
+ <style scoped>
254
+ .clears{
255
+ overflow:hidden;
256
+ text-overflow:ellipsis;
257
+ white-space:nowrap;
258
+ }
259
+ .showData {
260
+ padding: 15px 10px 0px 10px;
261
+ box-sizing: border-box;
262
+ height: 230px;
263
+ font-family: "微软雅黑";
264
+ }
265
+ .showData .item{
266
+ padding-bottom: 10px;
267
+ border-bottom: solid 1px #c1c1c1;
268
+ }
269
+ .left {
270
+ padding-right: 10px;
271
+ }
272
+ .left img{
273
+ height: 100%;
274
+ width: 100%;
275
+ }
276
+ .right{
277
+ height: 100%;
278
+ /*display: -webkit-flex;*/
279
+ /*display: flex;*/
280
+ /*flex-direction: column;*/
281
+ /*justify-content: space-around;*/
282
+ }
283
+ .item_btn{
284
+ width: 80%;
285
+ background-color: #6aa6e2;
286
+ border-radius: 4px;
287
+ color: #FFFFFF;
288
+ font-family: PingFang;
289
+ }
290
+ </style>