conferenceInfo.vue
4.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<template>
<el-form ref="form" :model="form" label-width="80px">
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="会议时间" prop="conferenceTime">
<el-date-picker size="small" style="width: 100%"
v-model="form.conferenceTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:disabled="true"
placeholder="选择会议时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="会议地点" prop="conferenceSite">
<el-input v-model="form.conferenceSite" placeholder="请输入会议地点" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="22">
<el-form-item label="参会人员" prop="staff">
<el-input type="textarea" v-model="form.staff" placeholder="请输入参会人员" :rows="4" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="22">
<el-form-item label="会议议程" prop="content">
<el-input type="textarea" v-model="form.content" placeholder="请输入会议议程" :rows="4" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="22">
<el-form-item label="会议要求" prop="requirement">
<el-input type="textarea" v-model="form.requirement" placeholder="请输入会议要求" :rows="4" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="附件图片预览" v-if="slide1.length!=0">
<el-image v-for="item in slide1"
style="width: 100px; height: 100px; margin: 5px;"
:src="item"
:preview-src-list="slide1"
:z-index="2000">
</el-image>
</el-form-item>
<el-row>
<el-table :data="fileEntityList">
<el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center">
<template slot-scope="scope">
<el-button
size="small" type="success"
icon="el-icon-download"
@click="downloadFA(scope.row)"
v-hasPermi="['office:management:edit']"
v-if="form.id!=null"
round>下载
</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<el-table :data="hisfromData" v-if="hisfromData != null">
<el-table-column label="处理意见" align="center" prop="controlValue"/>
<el-table-column label="处理人" align="center" prop="createName"/>
<el-table-column label="处理时间" align="center" prop="createTime"/>
</el-table>
</el-row>
</el-form>
</template>
<script>
import {getConference} from "@/api/office/conference";
import Editor from '@/components/ZcEditor';
import {historyFromData} from "@/api/activiti/historyFormdata";
export default {
name: "conferenceInfo",
components: {Editor},
props: {
businessKey: {
type: String
},
idInfo: {
type: String
}
},
data() {
return {
form: {},
fileEntityList:[],
slide1:[],
hisfromData:[]
}
},
created() {
this.init();
},
methods:{
init(){
getConference(this.idInfo).then(response => {
this.form = response.data.conference;
historyFromData("conference:" + this.idInfo).then(response => {
for(let i in response.data){
this.hisfromData.push(response.data[i]);
}
})
let files = JSON.stringify(response.data.uploadFiles);
this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
this.fileEntityList.map(item => {
if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
}
})
});
},
/** 文件下载 */
downloadFA(row) {
let name = row.name;
let url = row.url;
const a = document.createElement('a')
a.setAttribute('download', name)
a.setAttribute('target', '_blank')
a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
a.click()
},
}
}
</script>
<style scoped>
</style>