Browse Source

【编辑功能】已完成,处理进展 - 页面展示

master
zhangyongzhangyong 4 years ago
parent
commit
750fcaab65
  1. 230
      src/views/modules/events/edit-process-progress.vue

230
src/views/modules/events/edit-process-progress.vue

@ -0,0 +1,230 @@
<template>
<el-dialog :visible.sync="visible" title="处理进展" :close-on-click-modal="false" :close-on-press-escape="false">
<div v-for="(item,index) in processProgress" :key="index">
<el-form :model="item" ref="item" :label-width="$i18n.locale === 'en-US' ? '120px' : '120px'" style="padding-bottom: 60px">
<!-- <el-form-item label="" prop="">
<div>{{ index + 1 }}</div>
</el-form-item> -->
<div style="padding-bottom: 20px">
<div
:style="{marginBottom: '10px', width: '35px', height: '20px', fontSize: '12px', borderRadius: '4px', background: item.handleType === 'project' ? '#009688': item.handleType === 'issue' || item.handleType === 'issue-project' ? '#ffa546' : item.handleType === 'init' ? '#46A3FF' : '', color: '#fff', textAlign: 'center', lineHeight: '20px'}"
style="display: inline-block !important">
{{item.handleType === 'project' ? '项目': item.handleType === 'issue' || item.handleType === 'issue-project' ? '议题' : item.handleType === 'init' ? '事件' : ''}}
</div>
<span v-if="item.state != '100'" style="padding-left: 36px; font-weight: bold; color: rgb(96, 98, 102);">[ {{item | formatState}} ]</span>
<span v-if="item.state != '100'" style="padding-left: 36px">处理部门 {{item.handlerDept}}</span>
<span v-if="item.state == '100'" style="padding-left: 36px">议题内容 {{item.eventContent}}</span>
</div>
<el-form-item label="操作时间">
<el-date-picker v-model="item.createdTime"
type="datetime"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="项目处理意见">
<el-input v-model="item.advice"></el-input>
</el-form-item>
<el-form-item label="回复居民意见">
<el-input v-model="item.outAdvice"></el-input>
</el-form-item>
<el-form-item label="图片">
<el-input v-model="item.outAdvice"></el-input>
</el-form-item>
</el-form>
</div>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>
</template>
<script>
import 'element-ui/lib/theme-chalk/timeline.css'
import 'element-ui/lib/theme-chalk/timeline-item.css'
import 'element-ui/lib/theme-chalk/image.css'
export default {
data () {
return {
visible: false,
dataForm: {
id: ''
},
processProgress: []
}
},
filters: {
formatState (item) {
if (item.handleType === 'project') {
if (item.state === 0 && item.itemDeptDTOS && item.itemDeptDTOS.length > 0) {
return '吹哨'
} else if (item.state === 0 && item.itemDeptDTOS && item.itemDeptDTOS.length === 0) {
return '回应'
} else if (item.state === 5) {
return '关闭'
} else if (item.state === 10) {
return '结案'
}
} else if (item.handleType === 'issue' || item.handleType === 'init') {
if (item.state === 0) {
return '审核通过'
} else if (item.state === 1) {
return '回应'
} else if (item.state === 2) {
return '关闭'
} else if (item.state === 3) {
return '转议题'
}
} else if (item.handleType === 'issue-project') {
return '转项目'
}
}
},
watch: {
'processProgress': function (val) {
console.log('processProgress')
console.log(this.processProgress)
}
},
methods: {
init () {
this.$nextTick(() => {
this.visible = true
if (this.dataForm.id) {
this.getInfo()
}
})
},
getInfo () {
this.$http.get(`/events/item/getProcessProgress/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.processProgress = res.data
console.log(this.processProgress)
}).catch(() => {})
},
dataFormSubmitHandle () {
console.log('processProgress')
console.log(this.processProgress)
}
}
}
</script>
<style lang="scss">
.project-handle {
.el-timeline {
padding-left: 9px;
font-size: 13px;
}
}
.el-form-item__label {
font-weight: bold;
}
</style>
<style lang="scss" scoped>
.project-handle {
width: 100%;
height: calc(100vh - 120px);
background: #ffffff;
box-sizing: border-box;
padding: 10px;
.project-detail {
width: 79%;
height: 80%;
border: 2px solid #ccc;
box-sizing: border-box;
padding: 10px;
float:left;
margin-bottom: 1%;
position: relative;
padding-top: 20px;
.project-detail-tip {
position: absolute;
top: 0;
left:0;
width: 80px;
height: 30px;
line-height: 30px;
color: #ffffff;
background: #4ac38b;
text-align:center;
}
.el-form {
width: 58%;
height: 100%;
float:left;
overflow-y:auto;
&::-webkit-scrollbar {
width: 5px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #aaa;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: #fff;
}
}
.container {
width: 40%;
height: 80%;
float: right;
.location {
height: 30px;
line-height: 30px;
}
#map {
width: 100%;
height: calc(100% - 30px);
}
}
}
.project-progress {
width: 20%;
height: 80%;
float: right;
border: 2px solid #ccc;
box-sizing: border-box;
margin-left: 1%;
padding-top: 20px;
overflow-y:auto;
position: relative;
padding-top: 40px;
.project-progress-tip {
position: absolute;
top: 0;
left:0;
width: 80px;
height: 30px;
line-height: 30px;
color: #ffffff;
background: #0098ff;
text-align:center;
}
&::-webkit-scrollbar {
width: 5px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #aaa;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: #ccc;
}
}
.handle-operation {
width: 79%;
height: 49%;
box-sizing: border-box;
border: 2px solid #ccc;
float:left;
}
}
</style>
Loading…
Cancel
Save