|
@ -1,92 +1,104 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
<el-card shadow="never" |
|
|
<div v-show="showDetail"> |
|
|
class="aui-card--fill"> |
|
|
<el-card shadow="never" |
|
|
<div class="mod-demo__demo}"> |
|
|
class="aui-card--fill"> |
|
|
|
|
|
<div class="mod-demo__demo}"> |
|
|
|
|
|
|
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">项目标题:</span> |
|
|
|
|
|
<span>{{info.projectTitle}}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="div_info_item"> |
|
|
<div class="div_info_item"> |
|
|
<span class="span_item_title">项目标题:</span> |
|
|
<span class="span_item_title">项目内容:</span> |
|
|
<span>{{info.projectTitle}}</span> |
|
|
<span v-if="info.projectContent">{{info.projectContent}}</span> |
|
|
</div> |
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="div_info_item"> |
|
|
<div class="div_info_item"> |
|
|
<span class="span_item_title">项目内容:</span> |
|
|
<span class="span_item_title">上报时间:</span> |
|
|
<span v-if="info.projectContent">{{info.projectContent}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="div_info_item"> |
|
|
<span v-if="info.reportTime">{{info.reportTime}}</span> |
|
|
<span class="span_item_title">上报时间:</span> |
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">上报人:</span> |
|
|
|
|
|
<span v-if="info.reportUserName">{{info.reportUserName}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">电话:</span> |
|
|
|
|
|
<span v-if="info.mobile">{{info.mobile}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">地点:</span> |
|
|
|
|
|
<span v-if="info.reportAddress">{{info.reportAddress}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">所属分类:</span> |
|
|
|
|
|
<span v-if="info.categoryName">{{info.categoryName}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<span v-if="info.reportTime">{{info.reportTime}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">上报人:</span> |
|
|
|
|
|
<span v-if="info.reportUserName">{{info.reportUserName}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">电话:</span> |
|
|
|
|
|
<span v-if="info.mobile">{{info.mobile}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">地点:</span> |
|
|
|
|
|
<span v-if="info.reportAddress">{{info.reportAddress}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_info_item"> |
|
|
|
|
|
<span class="span_item_title">所属分类:</span> |
|
|
|
|
|
<span v-if="info.categoryName">{{info.categoryName}}</span> |
|
|
|
|
|
<span v-else>无</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="div_process"> |
|
|
|
|
|
<div class="m-list" |
|
|
|
|
|
v-show="info.processList.length>0"> |
|
|
|
|
|
<div class="title">处理进展</div> |
|
|
|
|
|
<div class="list"> |
|
|
|
|
|
<div :class="['item',{'z-on': index===0}]" |
|
|
|
|
|
v-for="(item,index) in info.processList" |
|
|
|
|
|
:key="index"> |
|
|
|
|
|
|
|
|
|
|
|
<div class="name">【{{ item.operationShow}}】</div> |
|
|
|
|
|
<div class="date"> |
|
|
|
|
|
<span>{{ item.reponseTime }}</span> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="detail"> |
|
|
|
|
|
<span class="detail-field">处理部门:</span> |
|
|
|
|
|
<span class="detail-value">{{ item. handleDeptName }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="detail"> |
|
|
<div class="div_process"> |
|
|
<span class="detail-field">处理意见:</span> |
|
|
<div class="m-list" |
|
|
<span class="detail-value"> |
|
|
v-show="info.processList.length>0"> |
|
|
<span>{{ item.suggestion}}</span> |
|
|
<div class="title">处理进展</div> |
|
|
</span> |
|
|
<div class="list"> |
|
|
</div> |
|
|
<div :class="['item',{'z-on': index===0}]" |
|
|
<div class="detail"> |
|
|
v-for="(item,index) in info.processList" |
|
|
<el-upload class="upload-demo" |
|
|
:key="index"> |
|
|
action="" |
|
|
|
|
|
:on-preview="handleFileDownload" |
|
|
<div class="name">【{{ item.operationShow}}】</div> |
|
|
:limit="50" |
|
|
<div class="date"> |
|
|
:file-list="fileList"> |
|
|
<span>{{ item.reponseTime }}</span> |
|
|
|
|
|
|
|
|
</el-upload> |
|
|
</div> |
|
|
<!-- <attachment-list list="{{item.attachments}}" /> --> |
|
|
<div class="detail"> |
|
|
|
|
|
<span class="detail-field">处理部门:</span> |
|
|
|
|
|
<span class="detail-value">{{ item. handleDeptName }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="detail"> |
|
|
|
|
|
<span class="detail-field">处理意见:</span> |
|
|
|
|
|
<span class="detail-value"> |
|
|
|
|
|
<span>{{ item.suggestion}}</span> |
|
|
|
|
|
</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="detail"> |
|
|
|
|
|
<el-upload class="upload-demo" |
|
|
|
|
|
:disabled="true" |
|
|
|
|
|
action="" |
|
|
|
|
|
:on-preview="handleFileDownload" |
|
|
|
|
|
:limit="50" |
|
|
|
|
|
:file-list="item.attachments"> |
|
|
|
|
|
|
|
|
|
|
|
</el-upload> |
|
|
|
|
|
<!-- <attachment-list list="{{item.attachments}}" /> --> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-card> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div v-show="!showDetail"> |
|
|
|
|
|
<el-button class="btn_close" |
|
|
|
|
|
@click="closePic()" |
|
|
|
|
|
type="primary">返回</el-button> |
|
|
|
|
|
<img :src="previewPath" |
|
|
|
|
|
alt="" |
|
|
|
|
|
style="width:100%;height:100%" /> |
|
|
|
|
|
<!-- <vedio :src="previewPath"></vedio> --> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@ -103,6 +115,7 @@ export default { |
|
|
return { |
|
|
return { |
|
|
projectId: "",//项目id |
|
|
projectId: "",//项目id |
|
|
formData: {}, |
|
|
formData: {}, |
|
|
|
|
|
showDetail: true, |
|
|
|
|
|
|
|
|
//查询条件标题宽度 |
|
|
//查询条件标题宽度 |
|
|
labelWidth: '100px', |
|
|
labelWidth: '100px', |
|
@ -121,15 +134,7 @@ export default { |
|
|
reportAddress: "",//上报位置 |
|
|
reportAddress: "",//上报位置 |
|
|
processList: [],// |
|
|
processList: [],// |
|
|
}, |
|
|
}, |
|
|
fileList: [ |
|
|
previewPath: '' |
|
|
// { |
|
|
|
|
|
// name: 'food.jpeg', |
|
|
|
|
|
// url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' |
|
|
|
|
|
// }, { |
|
|
|
|
|
// name: 'food2.jpeg', |
|
|
|
|
|
// url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' |
|
|
|
|
|
// } |
|
|
|
|
|
], |
|
|
|
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
@ -138,6 +143,12 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
setShowDetail () { |
|
|
|
|
|
if (!this.showDetail) { |
|
|
|
|
|
this.showDetail = true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
async initData (projectId) { |
|
|
async initData (projectId) { |
|
|
this.startLoading() |
|
|
this.startLoading() |
|
|
this.projectId = projectId |
|
|
this.projectId = projectId |
|
@ -162,7 +173,9 @@ export default { |
|
|
this.info = data[0] |
|
|
this.info = data[0] |
|
|
// info = copyKeyHave(info, data[0]); |
|
|
// info = copyKeyHave(info, data[0]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.info.processList.forEach(element => { |
|
|
this.info.processList.forEach(element => { |
|
|
|
|
|
|
|
|
//关闭:close; 回应 response,结案closed_case,退回return,部门流转transfer,创建项目created |
|
|
//关闭:close; 回应 response,结案closed_case,退回return,部门流转transfer,创建项目created |
|
|
if (element.operation === 'close') { |
|
|
if (element.operation === 'close') { |
|
|
element.operationShow = '关闭' |
|
|
element.operationShow = '关闭' |
|
@ -177,13 +190,39 @@ export default { |
|
|
} else if (element.operation === 'created') { |
|
|
} else if (element.operation === 'created') { |
|
|
element.operationShow = '创建项目' |
|
|
element.operationShow = '创建项目' |
|
|
} |
|
|
} |
|
|
|
|
|
element.attachments.forEach(attachItem => { |
|
|
|
|
|
attachItem.name = attachItem.fileName |
|
|
|
|
|
attachItem.url = attachItem.attachmentUrl |
|
|
|
|
|
attachItem.type = attachItem.attachmentType |
|
|
|
|
|
attachItem.format = attachItem.attachmentFormat |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//下载 |
|
|
|
|
|
handleFileDownload (file) { |
|
|
|
|
|
|
|
|
|
|
|
// if (file.format === 'jpg' || file.format === 'png' || file.format === 'gif') { |
|
|
|
|
|
// this.showDetail = false |
|
|
|
|
|
// this.previewPath = file.url |
|
|
|
|
|
// } else { |
|
|
|
|
|
var a = document.createElement('a'); |
|
|
|
|
|
var event = new MouseEvent('click'); |
|
|
|
|
|
a.download = file.name; |
|
|
|
|
|
a.target = "_blank"//打开新的标签页 |
|
|
|
|
|
|
|
|
|
|
|
a.href = file.url; |
|
|
|
|
|
a.dispatchEvent(event); |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
closePic () { |
|
|
|
|
|
this.showDetail = true |
|
|
|
|
|
}, |
|
|
// 开启加载动画 |
|
|
// 开启加载动画 |
|
|
startLoading () { |
|
|
startLoading () { |
|
|
loading = Loading.service({ |
|
|
loading = Loading.service({ |
|
@ -369,5 +408,10 @@ export default { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
.btn_close { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: flex-end; |
|
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|
|
|
|
|
|