apply-clients 7.1.36-yuchuan-13 → 7.1.36-yuchuan-16
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.
- package/android.html +28 -28
- package/build/dev-server.js +10 -28
- package/index.html +39 -39
- package/package.json +2 -2
- package/src/apply.js +1 -0
- package/src/applyAndroid.js +97 -97
- package/src/components/android/AppSign.vue +0 -1
- package/src/components/android/AppUpload.vue +275 -275
- package/src/components/android/Ignition/VentilationIgnition.vue +1 -1
- package/src/components/android/Ignition/VentilationIgnitionHandle.vue +1 -1
- package/src/components/android/Process/AppExplorationUser.vue +2 -2
- package/src/components/android/Process/AppServiceControl.vue +6 -6
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +2 -2
- package/src/components/android/Sign/AppSignTask.vue +1 -1
- package/src/components/android/Supervisory/AppProcessSupervisory.vue +1 -1
- package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +2 -2
- package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +2 -2
- package/src/components/android/Task/yiban/AppShowDone.vue +2 -2
- package/src/components/android/Task/yiban/ShowDone.vue +95 -95
- package/src/components/android/Task/yiban/satisfactionShow.vue +166 -166
- package/src/components/android/newPackage/customerServiceManager.vue +1 -1
- package/src/components/android/newPackage/projectPrice.vue +1 -1
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +1101 -1101
- package/src/components/product/ApplyGaiXianCharge/ApplyGaiXianViewList.vue +272 -272
- package/src/components/product/ApplyGuanXian/GuanXianCaiLiao.vue +236 -236
- package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +2 -2
- package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +1 -1
- package/src/components/product/ApplyGuanXian/GuanXianSupervisoryhCart.vue +119 -119
- package/src/components/product/ApplyMap/AMapLocation.vue +870 -870
- package/src/components/product/ApplyMap/AmapUtil.js +37 -37
- package/src/components/product/ApplyMap/ApplyDragaboutList.vue +223 -223
- package/src/components/product/ApplyMap/ApplyInputSearch.vue +212 -212
- package/src/components/product/ApplyMap/ApplyMapCom.vue +82 -82
- package/src/components/product/ApplyMap/ApplyMapLocation.vue +862 -862
- package/src/components/product/Function/InstallFunction.vue +1 -1
- package/src/components/product/Function/InstallInfoSelect.vue +2 -2
- package/src/components/product/Function/Service/FunctionServiceControl.vue +586 -586
- package/src/components/product/GongJianPush/ApplyPushList.vue +191 -191
- package/src/components/product/GongJianPush/ApplyPushManage.vue +91 -91
- package/src/components/product/Ignition/IgnitionListManage.vue +602 -602
- package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
- package/src/components/product/List/OldShowDevices.vue +2 -2
- package/src/components/product/List/ShowAllActivity.vue +2 -2
- package/src/components/product/List/ShowDevices.vue +2 -2
- package/src/components/product/Process/ExplorationSelect.vue +2 -2
- package/src/components/product/Process/ExplorationUser.vue +1 -1
- package/src/components/product/Process/New1ExplorationUser.vue +2 -2
- package/src/components/product/Process/NewExplorationSelect.vue +2 -2
- package/src/components/product/Process/NewExplorationUser.vue +1 -1
- package/src/components/product/Process/Processes/InstallationDetails.vue +4 -4
- package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
- package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
- package/src/components/product/Process/Processes/chargeManagement.vue +704 -704
- package/src/components/product/Process/Processes/devicesManagement.vue +393 -393
- package/src/components/product/Process/Processes/newDevicesManagement.vue +413 -413
- package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +2 -2
- package/src/components/product/Process/Processes/selectOldUserinfo.vue +2 -2
- package/src/components/product/Process/Processes/selectUserinfo.vue +3 -3
- package/src/components/product/Process/Service/ServiceControl.vue +6 -6
- package/src/components/product/ServiceView.vue +644 -644
- package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -175
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +1 -1
- package/src/components/product/Supervisory/SupervisoryControl.vue +116 -116
- package/src/components/product/Supervisory/SupervisoryList.vue +2 -2
- package/src/components/product/Supervisory/SupervisoryhCart.vue +119 -119
- package/src/components/product/Supervisory/YiBanSupervisoryList.vue +2 -2
- package/src/components/product/VueUtils/ApplyUpload.vue +285 -294
- package/src/components/product/records/AdjustmentRecordList.vue +162 -162
- package/src/main.js +27 -27
|
@@ -1,275 +1,275 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="col-sm-12 col-xs-12" style="background-color: #FFFFFF">
|
|
3
|
-
<div class="col-sm-12 col-xs-12" style="padding:50px 100px;height: 25%">
|
|
4
|
-
<div class="col-xs-8" v-if="issearch">
|
|
5
|
-
<v-select
|
|
6
|
-
class="fileType"
|
|
7
|
-
:value.sync="useType"
|
|
8
|
-
width="90%"
|
|
9
|
-
v-model="useType"
|
|
10
|
-
:options='typeOfUse'
|
|
11
|
-
:valueSingle="true"></v-select>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="col-xs-4" style="text-align: center" v-if="issearch">
|
|
14
|
-
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @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>
|
|
20
|
-
<hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
|
|
21
|
-
<div class="col-sm-12 col-xs-12" style="overflow: scroll;height: 75%">
|
|
22
|
-
<div class="col-sm-12 col-xs-12 showData" v-for="row in fileInfoData">
|
|
23
|
-
<div class="col-sm-12 col-xs-12 item" v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'">
|
|
24
|
-
<div class="left col-sm-12 col-xs-12">
|
|
25
|
-
<a href="#" class="thumbnail" style="width: 100%;height: 100%">
|
|
26
|
-
<img-self
|
|
27
|
-
v-if="row.f_filetype === 'jpg' || row.f_filetype === 'png' || row.f_filetype === 'gif' || row.f_filetype === 'bmp'"
|
|
28
|
-
:src="row.f_downloadURL" alt="..." :width="120" :height="170"></img-self>
|
|
29
|
-
<img v-if="row.f_filetype === 'pdf'" src="../image/pdf.jpg" alt=""/>
|
|
30
|
-
<img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../image/excel.jpg" alt=""/>
|
|
31
|
-
<img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../image/doc.jpg" alt=""/>
|
|
32
|
-
<img v-if="row.f_filetype === 'dwg'" src="../image/dwg.png" alt="" />
|
|
33
|
-
<img v-if="row.f_filetype === 'dxf'" src="../image/dxf.png" alt="" />
|
|
34
|
-
</a>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
<div class="col-sm-12 col-xs-12 item">
|
|
38
|
-
<div class="left col-sm-12 col-xs-12">
|
|
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
|
|
46
|
-
v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'"></a>
|
|
47
|
-
<a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary"
|
|
48
|
-
role="button" :href="row.f_downloadURL" download = "row.f_filename" >下载
|
|
49
|
-
</a>
|
|
50
|
-
<!-- <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>-->
|
|
51
|
-
</p>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
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="rs/file/upload" 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" style="color: #df2424">-->
|
|
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
|
-
import {isEmpty} from "../Util";
|
|
95
|
-
import Vue from "vue";
|
|
96
|
-
|
|
97
|
-
export default {
|
|
98
|
-
title: '附件',
|
|
99
|
-
props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
|
|
100
|
-
data() {
|
|
101
|
-
return {
|
|
102
|
-
fileInfoData: [], // 数据库存储的文件记录对象数组
|
|
103
|
-
// 调用rs/file/uploadFile 的参数
|
|
104
|
-
headers: {
|
|
105
|
-
'username': Vue.user.name,
|
|
106
|
-
// 'username': this.$login.f.name,
|
|
107
|
-
'blodid': '',
|
|
108
|
-
'businessid': '',
|
|
109
|
-
'fremarks': '',
|
|
110
|
-
'defname': '',
|
|
111
|
-
'fusetype': ''
|
|
112
|
-
}, // 调用rs/file/uploadFile 的参数
|
|
113
|
-
showUpload: false, // 上传模态框控制
|
|
114
|
-
showhighmeter: false, // 高拍仪组件控制
|
|
115
|
-
useType: null
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
ready() {
|
|
119
|
-
this.headers.blodid = this.blodid
|
|
120
|
-
this.headers.businessid = this.businessid
|
|
121
|
-
this.headers.defname = this.defname
|
|
122
|
-
if (this.blodid || this.businessid) {
|
|
123
|
-
this.load()
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
methods: {
|
|
127
|
-
delet(index, row) {
|
|
128
|
-
// this.$resetdelete(`rs/entity/t_files`, {id: row.id}, {
|
|
129
|
-
this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: row.id}, {
|
|
130
|
-
resolveMsg: '删除成功',
|
|
131
|
-
rejectMsg: '删除失败'
|
|
132
|
-
}).then((res) => {
|
|
133
|
-
this.$dispatch("delResid", row.id)
|
|
134
|
-
this.load()
|
|
135
|
-
})
|
|
136
|
-
},
|
|
137
|
-
downloadfile(filepath) {
|
|
138
|
-
HostApp.startExternalViewer(filepath)
|
|
139
|
-
},
|
|
140
|
-
// 关闭文件上传对话框
|
|
141
|
-
close() {
|
|
142
|
-
this.showUpload = false
|
|
143
|
-
this.showhighmeter = false
|
|
144
|
-
// 将选的文件清空
|
|
145
|
-
this.$refs.file.$el.querySelector('input').value = ''
|
|
146
|
-
this.headers.fusetype = ''
|
|
147
|
-
this.headers.fremarks = ''
|
|
148
|
-
this.load()
|
|
149
|
-
},
|
|
150
|
-
// 查询
|
|
151
|
-
async load() {
|
|
152
|
-
let condition = ''
|
|
153
|
-
|
|
154
|
-
condition = `f_blobid= '${this.headers.blodid}' `
|
|
155
|
-
if (this.headers.defname &&this.headers.defname.indexOf('单位签字')){
|
|
156
|
-
let http = new HttpResetClass()
|
|
157
|
-
let data = {
|
|
158
|
-
tablename: 't_apply_sign',
|
|
159
|
-
condition: `f_process_id = '${this.headers.blodid}'`
|
|
160
|
-
}
|
|
161
|
-
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data: data}, {
|
|
162
|
-
warnMsg: null,
|
|
163
|
-
resolveMsg: null
|
|
164
|
-
})
|
|
165
|
-
if (res.data.length > 0){
|
|
166
|
-
condition = `(f_blobid= '${this.headers.blodid}' or f_blobid= '${res.data[0].f_parent_process_id}')`
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (!isEmpty(this.useType)) {
|
|
172
|
-
condition += `and fusetype like '${this.useType}'`
|
|
173
|
-
}
|
|
174
|
-
let http = new HttpResetClass()
|
|
175
|
-
let data = {
|
|
176
|
-
tablename: 't_files',
|
|
177
|
-
condition: condition + ` order by f_uploaddate desc `
|
|
178
|
-
}
|
|
179
|
-
let getFile = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data: data}, {
|
|
180
|
-
warnMsg: null,
|
|
181
|
-
resolveMsg: null
|
|
182
|
-
})
|
|
183
|
-
|
|
184
|
-
for (var i = 0; i < getFile.data.length; i++) {
|
|
185
|
-
// 如果使用类型包含导入字样,则是execl文件导入的,不做显示
|
|
186
|
-
if (getFile.data[i].fusetype && (getFile.data[i].fusetype.includes('execl导入'))) {
|
|
187
|
-
getFile.data.splice(i, 1)
|
|
188
|
-
i--
|
|
189
|
-
continue
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
let temp = getFile.data[i].f_downloadpath
|
|
193
|
-
if (temp.includes('http:')){
|
|
194
|
-
getFile.data[i].f_downloadURL = temp
|
|
195
|
-
} else {
|
|
196
|
-
let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
|
|
197
|
-
getFile.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${URL}`
|
|
198
|
-
}
|
|
199
|
-
// getFile.data[i].f_downloadURL = "http://61.134.61.238:8400" + "/" + URL
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
this.fileInfoData = []
|
|
203
|
-
this.fileInfoData = getFile.data
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
},
|
|
207
|
-
computed: {
|
|
208
|
-
typeOfUse() {
|
|
209
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
events: {
|
|
213
|
-
onFileUpload: function (file, res) {
|
|
214
|
-
this.$dispatch("resid", res.id)
|
|
215
|
-
this.headers.fremarks = ''
|
|
216
|
-
this.close()
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
watch: {
|
|
220
|
-
'blodid'(val) {
|
|
221
|
-
if (val) {
|
|
222
|
-
console.log('观察blodid', val)
|
|
223
|
-
this.headers.blodid = this.blodid
|
|
224
|
-
this.load()
|
|
225
|
-
}
|
|
226
|
-
},
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
</script>
|
|
230
|
-
|
|
231
|
-
<style scoped>
|
|
232
|
-
.clears {
|
|
233
|
-
overflow: hidden;
|
|
234
|
-
text-overflow: ellipsis;
|
|
235
|
-
white-space: nowrap;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.showData {
|
|
239
|
-
padding: 15px 10px 0px 10px;
|
|
240
|
-
box-sizing: border-box;
|
|
241
|
-
height: 500px;
|
|
242
|
-
font-family: "微软雅黑";
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
.showData .item {
|
|
246
|
-
padding-bottom: 10px;
|
|
247
|
-
height: 230px;
|
|
248
|
-
border-bottom: solid 1px #c1c1c1;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.left {
|
|
252
|
-
padding-right: 10px;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
.left img {
|
|
256
|
-
height: 100%;
|
|
257
|
-
width: 100%;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.right {
|
|
261
|
-
height: 100%;
|
|
262
|
-
/*display: -webkit-flex;*/
|
|
263
|
-
/*display: flex;*/
|
|
264
|
-
/*flex-direction: column;*/
|
|
265
|
-
/*justify-content: space-around;*/
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.item_btn {
|
|
269
|
-
width: 80%;
|
|
270
|
-
background-color: #6aa6e2;
|
|
271
|
-
border-radius: 4px;
|
|
272
|
-
color: #FFFFFF;
|
|
273
|
-
font-family: PingFang;
|
|
274
|
-
}
|
|
275
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12 col-xs-12" style="background-color: #FFFFFF">
|
|
3
|
+
<div class="col-sm-12 col-xs-12" style="padding:50px 100px;height: 25%">
|
|
4
|
+
<div class="col-xs-8" v-if="issearch">
|
|
5
|
+
<v-select
|
|
6
|
+
class="fileType"
|
|
7
|
+
:value.sync="useType"
|
|
8
|
+
width="90%"
|
|
9
|
+
v-model="useType"
|
|
10
|
+
:options='typeOfUse'
|
|
11
|
+
:valueSingle="true"></v-select>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="col-xs-4" style="text-align: center" v-if="issearch">
|
|
14
|
+
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @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>
|
|
20
|
+
<hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;"/>
|
|
21
|
+
<div class="col-sm-12 col-xs-12" style="overflow: scroll;height: 75%">
|
|
22
|
+
<div class="col-sm-12 col-xs-12 showData" v-for="row in fileInfoData">
|
|
23
|
+
<div class="col-sm-12 col-xs-12 item" v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'">
|
|
24
|
+
<div class="left col-sm-12 col-xs-12">
|
|
25
|
+
<a href="#" class="thumbnail" style="width: 100%;height: 100%">
|
|
26
|
+
<img-self
|
|
27
|
+
v-if="row.f_filetype === 'jpg' || row.f_filetype === 'png' || row.f_filetype === 'gif' || row.f_filetype === 'bmp'"
|
|
28
|
+
:src="row.f_downloadURL" alt="..." :width="120" :height="170"></img-self>
|
|
29
|
+
<img v-if="row.f_filetype === 'pdf'" src="../image/pdf.jpg" alt=""/>
|
|
30
|
+
<img v-if="row.f_filetype === 'xls'||row.f_filetype === 'xlsx'" src="../image/excel.jpg" alt=""/>
|
|
31
|
+
<img v-if="row.f_filetype === 'doc'||row.f_filetype === 'docx'" src="../image/doc.jpg" alt=""/>
|
|
32
|
+
<img v-if="row.f_filetype === 'dwg'" src="../image/dwg.png" alt="" />
|
|
33
|
+
<img v-if="row.f_filetype === 'dxf'" src="../image/dxf.png" alt="" />
|
|
34
|
+
</a>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="col-sm-12 col-xs-12 item">
|
|
38
|
+
<div class="left col-sm-12 col-xs-12">
|
|
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
|
|
46
|
+
v-if="row.f_filetype === 'jpg' || row.f_filetype==='png' || row.f_filetype==='gif' || row.f_filetype==='bmp'"></a>
|
|
47
|
+
<a v-else @click="downloadfile(row.f_downloadURL)" style="background:#6aa6e2" class="btn btn-primary"
|
|
48
|
+
role="button" :href="row.f_downloadURL" download = "row.f_filename" >下载
|
|
49
|
+
</a>
|
|
50
|
+
<!-- <a v-if="isdelete" @click="delet($index, row)" href="#" class="btn btn-default" role="button" role="button">删除</a>-->
|
|
51
|
+
</p>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
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="rs/file/upload" 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" style="color: #df2424">-->
|
|
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
|
+
import {isEmpty} from "../Util";
|
|
95
|
+
import Vue from "vue";
|
|
96
|
+
|
|
97
|
+
export default {
|
|
98
|
+
title: '附件',
|
|
99
|
+
props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
|
|
100
|
+
data() {
|
|
101
|
+
return {
|
|
102
|
+
fileInfoData: [], // 数据库存储的文件记录对象数组
|
|
103
|
+
// 调用rs/file/uploadFile 的参数
|
|
104
|
+
headers: {
|
|
105
|
+
'username': Vue.user.name,
|
|
106
|
+
// 'username': this.$login.f.name,
|
|
107
|
+
'blodid': '',
|
|
108
|
+
'businessid': '',
|
|
109
|
+
'fremarks': '',
|
|
110
|
+
'defname': '',
|
|
111
|
+
'fusetype': ''
|
|
112
|
+
}, // 调用rs/file/uploadFile 的参数
|
|
113
|
+
showUpload: false, // 上传模态框控制
|
|
114
|
+
showhighmeter: false, // 高拍仪组件控制
|
|
115
|
+
useType: null
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
ready() {
|
|
119
|
+
this.headers.blodid = this.blodid
|
|
120
|
+
this.headers.businessid = this.businessid
|
|
121
|
+
this.headers.defname = this.defname
|
|
122
|
+
if (this.blodid || this.businessid) {
|
|
123
|
+
this.load()
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
methods: {
|
|
127
|
+
delet(index, row) {
|
|
128
|
+
// this.$resetdelete(`rs/entity/t_files`, {id: row.id}, {
|
|
129
|
+
this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: row.id}, {
|
|
130
|
+
resolveMsg: '删除成功',
|
|
131
|
+
rejectMsg: '删除失败'
|
|
132
|
+
}).then((res) => {
|
|
133
|
+
this.$dispatch("delResid", row.id)
|
|
134
|
+
this.load()
|
|
135
|
+
})
|
|
136
|
+
},
|
|
137
|
+
downloadfile(filepath) {
|
|
138
|
+
HostApp.startExternalViewer(filepath)
|
|
139
|
+
},
|
|
140
|
+
// 关闭文件上传对话框
|
|
141
|
+
close() {
|
|
142
|
+
this.showUpload = false
|
|
143
|
+
this.showhighmeter = false
|
|
144
|
+
// 将选的文件清空
|
|
145
|
+
this.$refs.file.$el.querySelector('input').value = ''
|
|
146
|
+
this.headers.fusetype = ''
|
|
147
|
+
this.headers.fremarks = ''
|
|
148
|
+
this.load()
|
|
149
|
+
},
|
|
150
|
+
// 查询
|
|
151
|
+
async load() {
|
|
152
|
+
let condition = ''
|
|
153
|
+
|
|
154
|
+
condition = `f_blobid= '${this.headers.blodid}' `
|
|
155
|
+
if (this.headers.defname &&this.headers.defname.indexOf('单位签字')){
|
|
156
|
+
let http = new HttpResetClass()
|
|
157
|
+
let data = {
|
|
158
|
+
tablename: 't_apply_sign',
|
|
159
|
+
condition: `f_process_id = '${this.headers.blodid}'`
|
|
160
|
+
}
|
|
161
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data: data}, {
|
|
162
|
+
warnMsg: null,
|
|
163
|
+
resolveMsg: null
|
|
164
|
+
})
|
|
165
|
+
if (res.data.length > 0){
|
|
166
|
+
condition = `(f_blobid= '${this.headers.blodid}' or f_blobid= '${res.data[0].f_parent_process_id}')`
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
if (!isEmpty(this.useType)) {
|
|
172
|
+
condition += `and fusetype like '${this.useType}'`
|
|
173
|
+
}
|
|
174
|
+
let http = new HttpResetClass()
|
|
175
|
+
let data = {
|
|
176
|
+
tablename: 't_files',
|
|
177
|
+
condition: condition + ` order by f_uploaddate desc `
|
|
178
|
+
}
|
|
179
|
+
let getFile = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data: data}, {
|
|
180
|
+
warnMsg: null,
|
|
181
|
+
resolveMsg: null
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
for (var i = 0; i < getFile.data.length; i++) {
|
|
185
|
+
// 如果使用类型包含导入字样,则是execl文件导入的,不做显示
|
|
186
|
+
if (getFile.data[i].fusetype && (getFile.data[i].fusetype.includes('execl导入'))) {
|
|
187
|
+
getFile.data.splice(i, 1)
|
|
188
|
+
i--
|
|
189
|
+
continue
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
let temp = getFile.data[i].f_downloadpath
|
|
193
|
+
if (temp.includes('http:')){
|
|
194
|
+
getFile.data[i].f_downloadURL = temp
|
|
195
|
+
} else {
|
|
196
|
+
let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
|
|
197
|
+
getFile.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${URL}`
|
|
198
|
+
}
|
|
199
|
+
// getFile.data[i].f_downloadURL = "http://61.134.61.238:8400" + "/" + URL
|
|
200
|
+
|
|
201
|
+
}
|
|
202
|
+
this.fileInfoData = []
|
|
203
|
+
this.fileInfoData = getFile.data
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
},
|
|
207
|
+
computed: {
|
|
208
|
+
typeOfUse() {
|
|
209
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
events: {
|
|
213
|
+
onFileUpload: function (file, res) {
|
|
214
|
+
this.$dispatch("resid", res.id)
|
|
215
|
+
this.headers.fremarks = ''
|
|
216
|
+
this.close()
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
watch: {
|
|
220
|
+
'blodid'(val) {
|
|
221
|
+
if (val) {
|
|
222
|
+
console.log('观察blodid', val)
|
|
223
|
+
this.headers.blodid = this.blodid
|
|
224
|
+
this.load()
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
</script>
|
|
230
|
+
|
|
231
|
+
<style scoped>
|
|
232
|
+
.clears {
|
|
233
|
+
overflow: hidden;
|
|
234
|
+
text-overflow: ellipsis;
|
|
235
|
+
white-space: nowrap;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.showData {
|
|
239
|
+
padding: 15px 10px 0px 10px;
|
|
240
|
+
box-sizing: border-box;
|
|
241
|
+
height: 500px;
|
|
242
|
+
font-family: "微软雅黑";
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.showData .item {
|
|
246
|
+
padding-bottom: 10px;
|
|
247
|
+
height: 230px;
|
|
248
|
+
border-bottom: solid 1px #c1c1c1;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.left {
|
|
252
|
+
padding-right: 10px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.left img {
|
|
256
|
+
height: 100%;
|
|
257
|
+
width: 100%;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.right {
|
|
261
|
+
height: 100%;
|
|
262
|
+
/*display: -webkit-flex;*/
|
|
263
|
+
/*display: flex;*/
|
|
264
|
+
/*flex-direction: column;*/
|
|
265
|
+
/*justify-content: space-around;*/
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.item_btn {
|
|
269
|
+
width: 80%;
|
|
270
|
+
background-color: #6aa6e2;
|
|
271
|
+
border-radius: 4px;
|
|
272
|
+
color: #FFFFFF;
|
|
273
|
+
font-family: PingFang;
|
|
274
|
+
}
|
|
275
|
+
</style>
|
|
@@ -313,7 +313,7 @@ export default {
|
|
|
313
313
|
async getArea () {
|
|
314
314
|
let data = {
|
|
315
315
|
tablename: 't_area_address',
|
|
316
|
-
condition: `f_filiale
|
|
316
|
+
condition: `f_filiale like '%${Vue.user.orgs}%' and f_area_status = '启用'`
|
|
317
317
|
// condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用'`
|
|
318
318
|
}
|
|
319
319
|
let http = new HttpResetClass()
|
|
@@ -328,7 +328,7 @@ export default {
|
|
|
328
328
|
f_user_id: this.selectdata.f_user_id,
|
|
329
329
|
f_userinfo_id: this.selectdata.f_userinfo_id,
|
|
330
330
|
record: {
|
|
331
|
-
f_filiale: Vue.user.
|
|
331
|
+
f_filiale: Vue.user.orgs,
|
|
332
332
|
f_instruct_meta_data: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
333
333
|
f_instruct_title: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
334
334
|
f_instruct_type: '阀门控制',
|
|
@@ -234,7 +234,7 @@ export default {
|
|
|
234
234
|
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`, 20, {
|
|
235
235
|
data: {
|
|
236
236
|
userid: Vue.user.id,
|
|
237
|
-
f_filiale: Vue.user.
|
|
237
|
+
f_filiale: Vue.user.orgs
|
|
238
238
|
}
|
|
239
239
|
}),
|
|
240
240
|
criteriaShow: false,
|
|
@@ -347,7 +347,7 @@ export default {
|
|
|
347
347
|
async getArea () {
|
|
348
348
|
let data = {
|
|
349
349
|
tablename: 't_area_address',
|
|
350
|
-
condition: `f_filiale
|
|
350
|
+
condition: `f_filiale like '%${Vue.user.orgs}%' and f_area_status = '启用'`
|
|
351
351
|
}
|
|
352
352
|
let http = new HttpResetClass()
|
|
353
353
|
let res = await http.load(
|
|
@@ -489,7 +489,7 @@ export default {
|
|
|
489
489
|
condition: `u.id = ${this.show_data.id}`,
|
|
490
490
|
data: {
|
|
491
491
|
userid: Vue.user.id,
|
|
492
|
-
f_filiale: Vue.user.
|
|
492
|
+
f_filiale: Vue.user.orgs
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
495
|
let url =`${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`
|
|
@@ -535,7 +535,7 @@ export default {
|
|
|
535
535
|
},
|
|
536
536
|
//获取下发人
|
|
537
537
|
getSource () {
|
|
538
|
-
return 'this.getParentByType($organization$).getChildByName($'+ Vue.user.
|
|
538
|
+
return 'this.getParentByType($organization$).getChildByName($'+ Vue.user.f_parentname + '$).getChildren()'
|
|
539
539
|
},
|
|
540
540
|
async getUserName() {
|
|
541
541
|
let data = {
|
|
@@ -560,7 +560,7 @@ export default {
|
|
|
560
560
|
source: '',
|
|
561
561
|
userid: Vue.user.id
|
|
562
562
|
}
|
|
563
|
-
data.source = 'this.getParentByType($organization$).getChildByName($'+ Vue.user.
|
|
563
|
+
data.source = 'this.getParentByType($organization$).getChildByName($'+ Vue.user.f_parentname + '$).getChildren()'
|
|
564
564
|
let res = await this.$resetpost(
|
|
565
565
|
`${this.$androidUtil.getProxyUrl()}/rs/search`,
|
|
566
566
|
{data: data},
|
|
@@ -720,7 +720,7 @@ export default {
|
|
|
720
720
|
async getResidentialArea() {
|
|
721
721
|
let data = {
|
|
722
722
|
tablename: 't_area_address',
|
|
723
|
-
condition: `f_filiale
|
|
723
|
+
condition: `f_filiale like '%${Vue.user.orgs}%' and f_area_status = '启用'`
|
|
724
724
|
}
|
|
725
725
|
let http = new HttpResetClass()
|
|
726
726
|
let res = await http.load(
|
|
@@ -1053,7 +1053,7 @@ export default {
|
|
|
1053
1053
|
f_user_id: userinfo.f_user_id,
|
|
1054
1054
|
f_userinfo_id: userinfo.f_userinfo_id,
|
|
1055
1055
|
record: {
|
|
1056
|
-
f_filiale: Vue.user.
|
|
1056
|
+
f_filiale: Vue.user.orgs,
|
|
1057
1057
|
f_instruct_meta_data: this.show_data.button.button_name === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
1058
1058
|
f_instruct_title: this.show_data.button.button_name === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
1059
1059
|
f_instruct_type: '阀门控制',
|
|
@@ -1228,7 +1228,7 @@ export default {
|
|
|
1228
1228
|
let pcdText = `and f_residential_area like '%${val}%'`
|
|
1229
1229
|
let data = {
|
|
1230
1230
|
tablename: 't_area_address',
|
|
1231
|
-
condition: `f_filiale
|
|
1231
|
+
condition: `f_filiale like '%${Vue.user.orgs}%' and f_area_status = '启用' ${pcdText}`
|
|
1232
1232
|
}
|
|
1233
1233
|
new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data:data}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
|
|
1234
1234
|
console.log('请求发送完成!!!!!'+JSON.stringify(res))
|