|
|
@ -5,122 +5,126 @@ |
|
|
|
<div class="project-detail-tip">诉求详情</div> |
|
|
|
<el-form label-position="right" class="projectDetail-left-appeal"> |
|
|
|
<el-form-item label="诉求内容:"> |
|
|
|
<div>{{dataForm.itemContent}}</div> |
|
|
|
<el-image v-for="url in dataForm.images" |
|
|
|
<div>{{ dataForm.itemContent }}</div> |
|
|
|
<el-image |
|
|
|
v-for="url in dataForm.images" |
|
|
|
style="width: 100px; height: 100px; margin-right: 10px" |
|
|
|
:key="url" |
|
|
|
:src="url" |
|
|
|
:preview-src-list="previewImgList" |
|
|
|
@click="clickImg(url)"> |
|
|
|
</el-image> |
|
|
|
@click="clickImg(url)" |
|
|
|
></el-image> |
|
|
|
<div v-if="dataForm.itemVoice"> |
|
|
|
<audio controls style="height: 30px;"> |
|
|
|
<source :src="dataForm.itemVoice" > |
|
|
|
</audio> |
|
|
|
<audio controls style="height: 30px;"><source :src="dataForm.itemVoice" /></audio> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-if="dataForm.groupName && dataForm.groupName.length > 0" label="项目来源:" prop="ownGrid"> |
|
|
|
<div>{{dataForm.groupName}}</div> |
|
|
|
<div>{{ dataForm.groupName }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-if="dataForm.enterpriseName" label="企业名称:"> |
|
|
|
<div>{{dataForm.enterpriseName}}</div> |
|
|
|
<div>{{ dataForm.enterpriseName }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-if="dataForm.uniformSocialCreditCode" label="社会信用代码:"> |
|
|
|
<div>{{dataForm.uniformSocialCreditCode}}</div> |
|
|
|
<div>{{ dataForm.uniformSocialCreditCode }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报时间:"> |
|
|
|
<div>{{dataForm.distributeTime}}</div> |
|
|
|
<div>{{ dataForm.distributeTime }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系人姓名:"> |
|
|
|
<div>{{dataForm.nickName}}</div> |
|
|
|
<div>{{ dataForm.nickName }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="手机号:" prop="mobile"> |
|
|
|
<div>{{dataForm.mobile}}</div> |
|
|
|
<div>{{ dataForm.mobile }}</div> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-form-item label="所属类别:" prop="categoryName"> |
|
|
|
<div>{{dataForm.categoryName}}</div> |
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
<el-form-item label="事件位置:" prop="issueAddress"> |
|
|
|
<div>{{dataForm.issueAddress}}</div> |
|
|
|
<div>{{ dataForm.issueAddress }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="分类:" prop="categoryName"> |
|
|
|
<div>{{dataForm.peopleFlag == '0' ? '民生诉求' : dataForm.peopleFlag == '1' ? '发展诉求' : '执法诉求'}}</div> |
|
|
|
<div>{{ dataForm.peopleFlag == '0' ? '民生诉求' : dataForm.peopleFlag == '1' ? '发展诉求' : '执法诉求' }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="诉求编码:" prop="serialNum"> |
|
|
|
<div>{{dataForm.serialNum}}</div> |
|
|
|
<div>{{ dataForm.serialNum }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.lawName" label="事项名称:" prop="lawName"> |
|
|
|
<div>{{dataForm.lawDetail.lawName}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.lawName }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.lawContent" label="诉求详情:" prop="lawContent"> |
|
|
|
<div>{{dataForm.lawDetail.lawContent}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.lawContent }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.hostUnit" label="建议主办单位:" prop="hostUnit"> |
|
|
|
<div>{{dataForm.lawDetail.hostUnit}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.hostUnit }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.assistUnit" label="建议协办单位:" prop="assistUnit"> |
|
|
|
<div>{{dataForm.lawDetail.assistUnit}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.assistUnit }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.demand" label="有关需求:" prop="demand"> |
|
|
|
<div>{{dataForm.lawDetail.demand}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.demand }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.lawType" label="事项类型:" prop="lawType"> |
|
|
|
<div>{{dataForm.lawDetail.lawType == '0' ? '计划事项' : '临时事项'}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.lawType == '0' ? '计划事项' : '临时事项' }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.isExchange" label="与部门是否沟通:" prop="isExchange"> |
|
|
|
<div>{{dataForm.lawDetail.isExchange == '0' ? '已经沟通' : '尚未沟通'}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.isExchange == '0' ? '已经沟通' : '尚未沟通' }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.convenerName" label="召集人姓名:" prop="convenerName"> |
|
|
|
<div>{{dataForm.lawDetail.convenerName}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.convenerName }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.convenerJob" label="召集人职务:" prop="convenerJob"> |
|
|
|
<div>{{dataForm.lawDetail.convenerJob}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.convenerJob }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.convenerMobile" label="召集人电话:" prop="convenerMobile"> |
|
|
|
<div>{{dataForm.lawDetail.convenerMobile}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.convenerMobile }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.contactName" label="联系人姓名:" prop="contactName"> |
|
|
|
<div>{{dataForm.lawDetail.contactName}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.contactName }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.contactJob" label="联系人职务:" prop="contactJob"> |
|
|
|
<div>{{dataForm.lawDetail.contactJob}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.contactJob }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.contactMobile" label="联系人电话:" prop="contactMobile"> |
|
|
|
<div>{{dataForm.lawDetail.contactMobile}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.contactMobile }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.reportTime" label="报到时间:" prop="reportTime"> |
|
|
|
<div>{{dataForm.lawDetail.reportTime}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.reportTime }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.reportAddress" label="报到地点:" prop="reportAddress"> |
|
|
|
<div>{{dataForm.lawDetail.reportAddress}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.reportAddress }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="dataForm.lawDetail && dataForm.lawDetail.meetingName" label="会议名称:" prop="meetingName"> |
|
|
|
<div>{{dataForm.lawDetail.meetingName}}</div> |
|
|
|
<div>{{ dataForm.lawDetail.meetingName }}</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="用户满意度评价:" v-if="dataForm.itemState == 10"> |
|
|
|
<div>{{dataForm.evaluationScoreName}}</div> |
|
|
|
<div>{{ dataForm.evaluationScoreName }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="用户满意度评价内容:" v-if="dataForm.itemState == 10"> |
|
|
|
<div>{{dataForm.evaluationContent}}</div> |
|
|
|
<div>{{ dataForm.evaluationContent }}</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="解决情况:" v-if="dataForm.solutionInfo"> |
|
|
|
<div v-if="dataForm.solutionInfo == '01'">解决</div> |
|
|
|
<div v-if="dataForm.solutionInfo == '02'">基本解决</div> |
|
|
|
<div v-if="dataForm.solutionInfo == '03'">未解决</div> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div class="container"> |
|
|
@ -130,68 +134,94 @@ |
|
|
|
</div> |
|
|
|
<div class="project-progress"> |
|
|
|
<div class="project-progress-tip">处理进展</div> |
|
|
|
<div class="refresh"><el-button type="text" @click="refreshProgress"> <i class="el-icon-refresh"></i></el-button></div> |
|
|
|
<div class="refresh"> |
|
|
|
<el-button type="text" @click="refreshProgress"><i class="el-icon-refresh"></i></el-button> |
|
|
|
</div> |
|
|
|
<el-timeline v-loading="timeloading" style="padding-top: 12px;"> |
|
|
|
<el-timeline-item |
|
|
|
v-for="(item, index) in timeLineList" |
|
|
|
:key="item.id" |
|
|
|
:color="item.type === 'init' ? 'red' : item.type === 'project' ? '#009688' : '#ffa546'"> |
|
|
|
<el-timeline-item v-for="(item, index) in timeLineList" :key="item.id" :color="item.type === 'init' ? 'red' : item.type === 'project' ? '#009688' : '#ffa546'"> |
|
|
|
<div :id="`content${index}`" style="line-height:25px; "> |
|
|
|
<div |
|
|
|
:style="{ marginBottom: '10px', width: '35px', height: '20px', fontSize: '12px', borderRadius: '4px', background: item.type === 'project' ? '#009688': item.type === 'issue' || item.type === 'issue-project' ? '#ffa546' : '', color: '#fff', textAlign: 'center', lineHeight: '20px'}" |
|
|
|
v-if="item.type !== 'init'"> |
|
|
|
{{item.type === 'project' ? '项目': item.type === 'issue' || item.type === 'issue-project' ? '议题' : ''}} |
|
|
|
:style="{ |
|
|
|
marginBottom: '10px', |
|
|
|
width: '35px', |
|
|
|
height: '20px', |
|
|
|
fontSize: '12px', |
|
|
|
borderRadius: '4px', |
|
|
|
background: item.type === 'project' ? '#009688' : item.type === 'issue' || item.type === 'issue-project' ? '#ffa546' : '', |
|
|
|
color: '#fff', |
|
|
|
textAlign: 'center', |
|
|
|
lineHeight: '20px' |
|
|
|
}" |
|
|
|
v-if="item.type !== 'init'" |
|
|
|
> |
|
|
|
{{ item.type === 'project' ? '项目' : item.type === 'issue' || item.type === 'issue-project' ? '议题' : '' }} |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">[{{ item | formatState }}]</span> |
|
|
|
{{ item.createdTime }} |
|
|
|
</div> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">[{{item | formatState}}]</span> {{item.createdTime}}</div> |
|
|
|
<div v-if="item.state === 3"> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">来源社群:</span>{{item.groupName}}</div> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">处理人:</span>{{item.handlerDept}}</div> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">处理人电话:</span>{{item.mobile}}</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">来源社群:</span> |
|
|
|
{{ item.groupName }} |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">处理人:</span> |
|
|
|
{{ item.handlerDept }} |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">处理人电话:</span> |
|
|
|
{{ item.mobile }} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-if="item.state !== 3"> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">处理部门:</span>{{item.handlerDept}}</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">处理部门:</span> |
|
|
|
{{ item.handlerDept }} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-if="item.itemDeptDTOS && item.itemDeptDTOS.length > 0" style="width: 100%; display: flex;"> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">被吹哨部门:</span> </div> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">被吹哨部门:</span></div> |
|
|
|
<div> |
|
|
|
<span v-for="(csDept, index1) in item.itemDeptDTOS" :key="index1"> |
|
|
|
{{ csDept.deptName }}<br/> |
|
|
|
{{ csDept.deptName }} |
|
|
|
<br /> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">处理意见:</span> {{item.advice}}</div> |
|
|
|
<div> |
|
|
|
<span style="font-weight: bold; color: rgb(96, 98, 102);">处理意见:</span> |
|
|
|
{{ item.advice }} |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<el-image v-for="url in item.images" |
|
|
|
<el-image |
|
|
|
v-for="url in item.images" |
|
|
|
style="width: 60px; height: 60px; object-fit: cover; margin-right: 8px; border-radius: 2px;" |
|
|
|
:key="url" |
|
|
|
:src="url" |
|
|
|
:preview-src-list="previewImgList" |
|
|
|
alt="处理图片" |
|
|
|
@click="clickImg(url)"> |
|
|
|
</el-image> |
|
|
|
@click="clickImg(url)" |
|
|
|
></el-image> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</el-timeline-item> |
|
|
|
</el-timeline> |
|
|
|
</div> |
|
|
|
<div style="width: 100%; text-align:center; float:left;"> |
|
|
|
<el-button size="medium" style="width: 95px" type="primary" @click="back">返回</el-button> |
|
|
|
</div> |
|
|
|
<div style="width: 100%; text-align:center; float:left;"><el-button size="medium" style="width: 95px" type="primary" @click="back">返回</el-button></div> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import BMap from 'BMap' |
|
|
|
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' |
|
|
|
import { gcj02tobd09 } from '../../../utils/gcj02tobd09' |
|
|
|
import BMap from 'BMap'; |
|
|
|
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'; |
|
|
|
import { gcj02tobd09 } from '../../../utils/gcj02tobd09'; |
|
|
|
export default { |
|
|
|
name: 'itemCloseDetailView', |
|
|
|
data () { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
timeloading: true, |
|
|
|
map: '', |
|
|
@ -210,202 +240,205 @@ export default { |
|
|
|
orderField: '', |
|
|
|
|
|
|
|
timeLineList: [] |
|
|
|
} |
|
|
|
}; |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
this.dataForm.id = this.$route.query.id |
|
|
|
this.init() |
|
|
|
mounted() { |
|
|
|
this.dataForm.id = this.$route.query.id; |
|
|
|
this.init(); |
|
|
|
}, |
|
|
|
filters: { |
|
|
|
formatState (item) { |
|
|
|
formatState(item) { |
|
|
|
if (item.type === 'project') { |
|
|
|
if (item.state === 0 && item.itemDeptDTOS && item.itemDeptDTOS.length > 0 |
|
|
|
) { |
|
|
|
return '网格吹哨' |
|
|
|
if (item.state === 0 && item.itemDeptDTOS && item.itemDeptDTOS.length > 0) { |
|
|
|
return '网格吹哨'; |
|
|
|
} else if (item.state === 0 && item.itemDeptDTOS && item.itemDeptDTOS.length === 0) { |
|
|
|
return '回应' |
|
|
|
return '回应'; |
|
|
|
} else if (item.state === 1) { |
|
|
|
return '社区吹哨' |
|
|
|
return '社区吹哨'; |
|
|
|
} else if (item.state === 5) { |
|
|
|
return '不予受理' |
|
|
|
return '不予受理'; |
|
|
|
} else if (item.state === 10) { |
|
|
|
return '结案' |
|
|
|
return '结案'; |
|
|
|
} else if (item.state === 11) { |
|
|
|
return '结案申请' |
|
|
|
return '结案申请'; |
|
|
|
} else if (item.state === 12 || item.state === 1001) { |
|
|
|
return '响应拟办' |
|
|
|
return '响应拟办'; |
|
|
|
} else if (item.state === 13) { |
|
|
|
return '直接办理' |
|
|
|
return '直接办理'; |
|
|
|
} else if (item.state === 14) { |
|
|
|
return '社区驳回' |
|
|
|
return '社区驳回'; |
|
|
|
} else if (item.state === 15) { |
|
|
|
return '社区吹哨' |
|
|
|
return '社区吹哨'; |
|
|
|
} else if (item.state === 16) { |
|
|
|
return '吹哨市平台' |
|
|
|
return '吹哨市平台'; |
|
|
|
} else if (item.state === 2018) { |
|
|
|
return '市平台-诉求督办' |
|
|
|
return '市平台-诉求督办'; |
|
|
|
} else if (item.state === 2020) { |
|
|
|
return '市平台-吹哨驳回' |
|
|
|
return '市平台-吹哨驳回'; |
|
|
|
} else if (item.state === 2021) { |
|
|
|
return '市平台-吹哨反馈' |
|
|
|
return '市平台-吹哨反馈'; |
|
|
|
} else if (item.state === 20) { |
|
|
|
return '网格化平台-受理' |
|
|
|
return '网格化平台-受理'; |
|
|
|
} else if (item.state === 25) { |
|
|
|
return '网格化平台-立案' |
|
|
|
return '网格化平台-立案'; |
|
|
|
} else if (item.state === 30) { |
|
|
|
return '网格化平台-派遣' |
|
|
|
return '网格化平台-派遣'; |
|
|
|
} else if (item.state === 35) { |
|
|
|
return '网格化平台-中间再派' |
|
|
|
return '网格化平台-中间再派'; |
|
|
|
} else if (item.state === 40) { |
|
|
|
return '网格化平台-接单' |
|
|
|
return '网格化平台-接单'; |
|
|
|
} else if (item.state === 45) { |
|
|
|
return '网格化平台-处置完成' |
|
|
|
return '网格化平台-处置完成'; |
|
|
|
} else if (item.state === 50) { |
|
|
|
return '网格化平台-中间督办' |
|
|
|
return '网格化平台-中间督办'; |
|
|
|
} else if (item.state === 55) { |
|
|
|
return '网格化平台-催办' |
|
|
|
return '网格化平台-催办'; |
|
|
|
} else if (item.state === 60) { |
|
|
|
return '网格化平台-结案' |
|
|
|
return '网格化平台-结案'; |
|
|
|
} else if (item.state === 65) { |
|
|
|
return '网格化平台-办理' |
|
|
|
return '网格化平台-办理'; |
|
|
|
} else if (item.state === 70) { |
|
|
|
return '网格化平台-批转' |
|
|
|
return '网格化平台-批转'; |
|
|
|
} else if (item.state === 75) { |
|
|
|
return '网格化平台-退单' |
|
|
|
return '网格化平台-退单'; |
|
|
|
} else if (item.state === 80) { |
|
|
|
return '网格化平台-办结' |
|
|
|
return '网格化平台-办结'; |
|
|
|
} else if (item.state === 85) { |
|
|
|
return '项目延期-审核通过' |
|
|
|
return '项目延期-审核通过'; |
|
|
|
} else if (item.state === 90) { |
|
|
|
return '项目熔断-审核通过' |
|
|
|
return '项目熔断-审核通过'; |
|
|
|
} else if (item.state === 1002) { |
|
|
|
return '诉求初验' |
|
|
|
return '诉求初验'; |
|
|
|
} else if (item.state === 1003) { |
|
|
|
return '诉求终验' |
|
|
|
return '诉求终验'; |
|
|
|
} else if (item.state === 1004) { |
|
|
|
return '诉求终验' |
|
|
|
return '诉求终验'; |
|
|
|
} else if (item.state === 1005) { |
|
|
|
return '诉求初验' |
|
|
|
return '诉求初验'; |
|
|
|
} else if (item.state === 1105) { |
|
|
|
return '下发评价' |
|
|
|
return '下发评价'; |
|
|
|
} else if (item.state === 1106) { |
|
|
|
return '初验申请' |
|
|
|
return '初验申请'; |
|
|
|
} else { |
|
|
|
return '网格化平台-派遣中' |
|
|
|
return '网格化平台-派遣中'; |
|
|
|
} |
|
|
|
} else if (item.type === 'issue' || item.type === 'init') { |
|
|
|
if (item.state === 0) { |
|
|
|
return '审核通过' |
|
|
|
return '审核通过'; |
|
|
|
} else if (item.state === 1) { |
|
|
|
return '回应' |
|
|
|
return '回应'; |
|
|
|
} else if (item.state === 2) { |
|
|
|
return '关闭' |
|
|
|
return '关闭'; |
|
|
|
} else if (item.state === 3) { |
|
|
|
return '转议题' |
|
|
|
return '转议题'; |
|
|
|
} |
|
|
|
} else if (item.type === 'issue-project') { |
|
|
|
return '转项目' |
|
|
|
return '转项目'; |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
refreshProgress () { |
|
|
|
this.timeloading = true |
|
|
|
refreshProgress() { |
|
|
|
this.timeloading = true; |
|
|
|
this.$http |
|
|
|
.get(`/events/platform/item/get/${this.dataForm.id}`) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
return this.$message.error(res.msg); |
|
|
|
} |
|
|
|
this.getInfo() |
|
|
|
this.getInfo(); |
|
|
|
// console.log(res) |
|
|
|
}) |
|
|
|
.catch(() => {}) |
|
|
|
.catch(() => {}); |
|
|
|
}, |
|
|
|
back () { |
|
|
|
this.$parent.init() |
|
|
|
back() { |
|
|
|
this.$parent.init(); |
|
|
|
// this.$router.push({ path: this.$route.path }) |
|
|
|
}, |
|
|
|
initBmap (latitude, longitude) { |
|
|
|
this.map = new BMap.Map('map') |
|
|
|
const point = new BMap.Point(longitude, latitude) |
|
|
|
var marker = new BMap.Marker(point) |
|
|
|
this.map.addOverlay(marker) |
|
|
|
this.map.centerAndZoom(point, 13) |
|
|
|
this.map.enableScrollWheelZoom(true) |
|
|
|
initBmap(latitude, longitude) { |
|
|
|
this.map = new BMap.Map('map'); |
|
|
|
const point = new BMap.Point(longitude, latitude); |
|
|
|
var marker = new BMap.Marker(point); |
|
|
|
this.map.addOverlay(marker); |
|
|
|
this.map.centerAndZoom(point, 13); |
|
|
|
this.map.enableScrollWheelZoom(true); |
|
|
|
}, |
|
|
|
init () { |
|
|
|
init() { |
|
|
|
this.$nextTick(() => { |
|
|
|
if (this.dataForm.id) { |
|
|
|
this.getInfo() |
|
|
|
this.getInfo(); |
|
|
|
} |
|
|
|
}) |
|
|
|
}); |
|
|
|
}, |
|
|
|
clickImg (url) { |
|
|
|
this.previewImgList = [] |
|
|
|
this.previewImgList.push(url) |
|
|
|
clickImg(url) { |
|
|
|
this.previewImgList = []; |
|
|
|
this.previewImgList.push(url); |
|
|
|
}, |
|
|
|
|
|
|
|
getInfo () { |
|
|
|
this.$http.get(`/events/item/getItemAppealDetail/${this.dataForm.id}`).then(({ data: res }) => { |
|
|
|
getInfo() { |
|
|
|
this.$http |
|
|
|
.get(`/events/item/getItemAppealDetail/${this.dataForm.id}`) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
return this.$message.error(res.msg); |
|
|
|
} |
|
|
|
this.timeloading = false |
|
|
|
this.timeloading = false; |
|
|
|
this.dataForm = { |
|
|
|
...this.dataForm, |
|
|
|
...res.data |
|
|
|
} |
|
|
|
}; |
|
|
|
console.log(' this.dataForm', this.dataForm.solutionInfo); |
|
|
|
this.dataForm.handleProgressResultDTOS.forEach((item, index, arr) => { |
|
|
|
if (index === arr.length - 1) { |
|
|
|
// item.type = 'issue-project' |
|
|
|
item.type = 'project' |
|
|
|
item.type = 'project'; |
|
|
|
} else { |
|
|
|
item.type = 'project' |
|
|
|
item.type = 'project'; |
|
|
|
} |
|
|
|
}) |
|
|
|
}); |
|
|
|
this.dataForm.issueProgressResultDTOS.forEach((item, index, arr) => { |
|
|
|
if (index === arr.length - 1) { |
|
|
|
item.type = 'init' |
|
|
|
item.type = 'init'; |
|
|
|
} else { |
|
|
|
item.type = 'issue' |
|
|
|
item.type = 'issue'; |
|
|
|
} |
|
|
|
}) |
|
|
|
this.timeLineList = [...this.dataForm.handleProgressResultDTOS, ...this.dataForm.issueProgressResultDTOS] |
|
|
|
}); |
|
|
|
this.timeLineList = [...this.dataForm.handleProgressResultDTOS, ...this.dataForm.issueProgressResultDTOS]; |
|
|
|
this.$nextTick(() => { |
|
|
|
this.timeLineList.forEach((item, index) => { |
|
|
|
const oDiv = document.getElementById(`content${index}`) |
|
|
|
const oBorder = oDiv.parentNode.parentNode.parentNode.firstChild |
|
|
|
const oDiv = document.getElementById(`content${index}`); |
|
|
|
const oBorder = oDiv.parentNode.parentNode.parentNode.firstChild; |
|
|
|
if (item.type === 'issue' || item.type === 'issue-project') { |
|
|
|
oBorder.style.borderLeft = '1px solid #ffa546' |
|
|
|
oBorder.style.borderLeft = '1px solid #ffa546'; |
|
|
|
} else if (item.type === 'project') { |
|
|
|
oBorder.style.borderLeft = '1px solid #009688' |
|
|
|
oBorder.style.borderLeft = '1px solid #009688'; |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.dataForm.issueLongitude = gcj02tobd09(this.dataForm.issueLongitude, this.dataForm.issueLatitude)[0]; |
|
|
|
this.dataForm.issueLatitude = gcj02tobd09(this.dataForm.issueLongitude, this.dataForm.issueLatitude)[1]; |
|
|
|
this.initBmap(this.dataForm.issueLatitude, this.dataForm.issueLongitude); |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.dataForm.issueLongitude = gcj02tobd09(this.dataForm.issueLongitude, this.dataForm.issueLatitude)[0] |
|
|
|
this.dataForm.issueLatitude = gcj02tobd09(this.dataForm.issueLongitude, this.dataForm.issueLatitude)[1] |
|
|
|
this.initBmap(this.dataForm.issueLatitude, this.dataForm.issueLongitude) |
|
|
|
}).catch(() => {}) |
|
|
|
.catch(() => {}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|
.project-handle { |
|
|
|
.project-handle { |
|
|
|
.el-timeline { |
|
|
|
padding-left: 9px; |
|
|
|
font-size: 13px; |
|
|
|
} |
|
|
|
} |
|
|
|
.el-form-item__label { |
|
|
|
} |
|
|
|
.el-form-item__label { |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
.project-handle { |
|
|
|
.project-handle { |
|
|
|
width: 100%; |
|
|
|
height: calc(100vh - 120px); |
|
|
|
background: #ffffff; |
|
|
@ -417,45 +450,45 @@ export default { |
|
|
|
border: 2px solid #ccc; |
|
|
|
box-sizing: border-box; |
|
|
|
// padding: 10px; |
|
|
|
float:left; |
|
|
|
float: left; |
|
|
|
margin-bottom: 1%; |
|
|
|
position: relative; |
|
|
|
padding: 20px 85px; |
|
|
|
box-sizing: border-box; |
|
|
|
.projectDetail-left-appeal{ |
|
|
|
.image-list{ |
|
|
|
.projectDetail-left-appeal { |
|
|
|
.image-list { |
|
|
|
width: 100%; |
|
|
|
height: auto; |
|
|
|
padding: 0px 45px; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
.el-form-item{ |
|
|
|
.el-form-item__label{ |
|
|
|
.el-form-item { |
|
|
|
.el-form-item__label { |
|
|
|
width: auto; |
|
|
|
padding-left: 48px; |
|
|
|
text-align: left !important; |
|
|
|
} |
|
|
|
} |
|
|
|
.el-form-item{ |
|
|
|
.el-form-item { |
|
|
|
margin-bottom: 0px; |
|
|
|
} |
|
|
|
} |
|
|
|
.project-detail-tip { |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
left:0; |
|
|
|
left: 0; |
|
|
|
width: 80px; |
|
|
|
height: 30px; |
|
|
|
line-height: 30px; |
|
|
|
color: #ffffff; |
|
|
|
background: #4ac38b; |
|
|
|
text-align:center; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
.el-form { |
|
|
|
width: 50%; |
|
|
|
height: 100%; |
|
|
|
float:left; |
|
|
|
overflow-y:auto; |
|
|
|
float: left; |
|
|
|
overflow-y: auto; |
|
|
|
&::-webkit-scrollbar { |
|
|
|
width: 5px; |
|
|
|
height: 1px; |
|
|
@ -468,7 +501,6 @@ export default { |
|
|
|
border-radius: 10px; |
|
|
|
background: #fff; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
.container { |
|
|
|
width: 48%; |
|
|
@ -492,19 +524,19 @@ export default { |
|
|
|
box-sizing: border-box; |
|
|
|
margin-left: 1%; |
|
|
|
padding-top: 20px; |
|
|
|
overflow-y:auto; |
|
|
|
overflow-y: auto; |
|
|
|
position: relative; |
|
|
|
padding-top: 40px; |
|
|
|
.project-progress-tip { |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
left:0; |
|
|
|
left: 0; |
|
|
|
width: 80px; |
|
|
|
height: 30px; |
|
|
|
line-height: 30px; |
|
|
|
color: #ffffff; |
|
|
|
background: #0098ff; |
|
|
|
text-align:center; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
&::-webkit-scrollbar { |
|
|
|
width: 5px; |
|
|
@ -524,11 +556,11 @@ export default { |
|
|
|
height: 49%; |
|
|
|
box-sizing: border-box; |
|
|
|
border: 2px solid #ccc; |
|
|
|
float:left; |
|
|
|
} |
|
|
|
float: left; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.refresh { |
|
|
|
.refresh { |
|
|
|
position: absolute; |
|
|
|
top: -10px; |
|
|
|
right: 0; |
|
|
@ -539,5 +571,5 @@ export default { |
|
|
|
.el-icon-refresh { |
|
|
|
font-size: 20px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|