2022-05-19 11:43:39 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<section class="detail">
|
|
|
|
|
|
<ai-detail>
|
|
|
|
|
|
<template #title>
|
|
|
|
|
|
<ai-title title="帮扶申请详情" isShowBottomBorder isShowBack @onBackClick="cancel(true)">
|
|
|
|
|
|
<template #rightBtn>
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<el-button type="primary" @click="changeStatus('转交事件')" size="small" v-if="$permissions('app_apphelpdeclarationinfo_forward') && form.status != 2 && form.status != 3">转交事件</el-button>
|
|
|
|
|
|
<el-button type="primary" @click="changeStatus('审核处理')" size="small" v-if="$permissions('app_apphelpdeclarationinfo_audit') && form.status != 2 && form.status != 3"> 审核处理</el-button>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
</ai-title>
|
|
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<template #content>
|
|
|
|
|
|
<div style="display:flex;">
|
|
|
|
|
|
<ai-card title="申请信息" style="flex:2;margin-right:32px;">
|
|
|
|
|
|
<template slot="content">
|
|
|
|
|
|
<ai-wrapper class="mar-t16" label-width="100px" :columnsNumber="2">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<ai-info-item label="申请人姓名:"><span>{{form.name || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="身份证号:"><span>{{form.idNumber || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="联系方式:"><span>{{form.phone || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="申报方式:"><span>{{$dict.getLabel("helpDeclarationType", form.declareType) || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="家庭人口数:"><span>{{form.householdNumber || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="排查人员:"><span>{{form.createUserName || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="申请帮扶原因:"><span>{{form.reason || '-'}}</span></ai-info-item>
|
|
|
|
|
|
<ai-info-item label="上报时间:"><span>{{form.declareTime || '-'}}</span></ai-info-item>
|
2022-05-20 15:33:27 +08:00
|
|
|
|
</ai-wrapper>
|
|
|
|
|
|
<ai-wrapper label-width="100px" :columnsNumber="1">
|
|
|
|
|
|
<ai-info-item label="所在地区:"><span>{{form.areaName}}{{form.address || ''}}</span></ai-info-item>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</ai-wrapper>
|
|
|
|
|
|
<ai-wrapper label-width="100px" :columnsNumber="1">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<ai-info-item label="风险说明:"><span>{{form.riskDescription || '-'}}</span></ai-info-item>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</ai-wrapper>
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<ai-uploader :instance="instance" disabled v-model="form.files"></ai-uploader>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
</ai-card>
|
|
|
|
|
|
<ai-card title="办理进度" style="flex:1;">
|
|
|
|
|
|
<template #right>
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<p style="color:#666;font-size:14px;">当前状态:<span :class="'color'+form.status">{{$dict.getLabel("helpDeclarationStatus", form.status) || '-'}}</span></p>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
<template #content>
|
|
|
|
|
|
<div class="ai-steps">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<div class="ai-steps__item" v-for="(item, index) in form.processList" :key="index">
|
2022-05-19 11:43:39 +08:00
|
|
|
|
<div class="ai-steps__item--left">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<div class="ai-steps__item--index">{{index+1}}</div>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
<div class="ai-steps__item--right">
|
|
|
|
|
|
<div class="ai-steps__item__avatar">
|
|
|
|
|
|
<img :src="item.avatar" v-if="item.avatar">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<h2 v-else>{{ formatName(item.doUsername) }}</h2>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
<div class="ai-steps__item--content">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<h2>{{item.description}}</h2>
|
|
|
|
|
|
<p>{{ item.doTime }}</p>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</ai-card>
|
|
|
|
|
|
</div>
|
2022-05-20 11:59:04 +08:00
|
|
|
|
<ai-dialog :title="dialogTitle" :visible.sync="showDialog" @onConfirm="statusConfirm()" @onCancel="showDialog=false;" @close="$refs.dialogInfo.resetFields()" width="750px">
|
|
|
|
|
|
<div class="addother_main" style="width:100%;">
|
2022-05-19 15:33:51 +08:00
|
|
|
|
<el-form :model="dialogInfo" status-icon ref="dialogInfo" label-width="100px" class="demo-ruleForm">
|
|
|
|
|
|
<el-form-item label="转交" prop="name" style="width: 100%;" autocomplete="off" :rules="[{ required: true, message: '请选择转交人员', trigger: 'blur' }]" v-if="dialogTitle == '转交事件'">
|
|
|
|
|
|
<el-input disabled size="small" v-model="dialogInfo.name" placeholder="请选择转交人员">
|
|
|
|
|
|
<template slot="append">
|
2022-05-20 11:53:51 +08:00
|
|
|
|
<ai-wechat-selecter :instance="instance" v-model="addUser" :isMultiple="false" @change="onChange" v-if="dialogTitle == '转交事件'">
|
|
|
|
|
|
<el-button size="small">选择</el-button>
|
2022-05-19 15:33:51 +08:00
|
|
|
|
</ai-wechat-selecter>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="处理结果:" required v-else>
|
|
|
|
|
|
<el-radio-group v-model="dialogInfo.auditStatus">
|
|
|
|
|
|
<el-radio label="1">通过审核</el-radio>
|
|
|
|
|
|
<el-radio label="0">驳回申请</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="办理意见:" prop="description" autocomplete="off" :rules="{ required: true, message: '办理意见不能为空', trigger: 'blur' }">
|
|
|
|
|
|
<el-input v-model="dialogInfo.description" autocomplete="off" size="mini" placeholder="请输入..." type="textarea" :rows="4" :maxlength="100" show-word-limit></el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="图片" style="width: 100%;" >
|
|
|
|
|
|
<ai-uploader
|
|
|
|
|
|
:instance="instance"
|
|
|
|
|
|
v-model="dialogInfo.files"
|
|
|
|
|
|
:limit="9">
|
2022-05-20 11:53:51 +08:00
|
|
|
|
<template slot="tips">
|
|
|
|
|
|
<p>最多上传9张图片,单个文件最大10MB,支持jpg、jpeg、png格式</p>
|
|
|
|
|
|
</template>
|
2022-05-19 15:33:51 +08:00
|
|
|
|
</ai-uploader>
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</ai-dialog>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</ai-detail>
|
|
|
|
|
|
</section>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
export default {
|
|
|
|
|
|
name: "detail",
|
|
|
|
|
|
props: {
|
|
|
|
|
|
instance: Function,
|
|
|
|
|
|
dict: Object,
|
|
|
|
|
|
permissions: Function,
|
|
|
|
|
|
params: Object
|
|
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
form: {},
|
|
|
|
|
|
showDialog: false,
|
|
|
|
|
|
dialogTitle: '',
|
2022-05-19 15:33:51 +08:00
|
|
|
|
dialogInfo: {auditStatus: '1', description: '', files: [], name: ''},
|
|
|
|
|
|
addUser: [],
|
2022-05-19 11:43:39 +08:00
|
|
|
|
};
|
|
|
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
created() {
|
2022-05-19 15:33:51 +08:00
|
|
|
|
this.dict.load('helpDeclarationType', 'helpDeclarationStatus', 'helpDeclarationReason');
|
2022-05-19 11:43:39 +08:00
|
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
|
|
|
this.form = this.params
|
|
|
|
|
|
this.getDetail()
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
formatName (name) {
|
|
|
|
|
|
if(name == undefined){
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
return name.substr(name.length - 2, name.length > 2 ? (name.length - 1) : name.length)
|
|
|
|
|
|
},
|
|
|
|
|
|
getDetail() {
|
2022-05-19 15:33:51 +08:00
|
|
|
|
this.instance.post(`/app/apphelpdeclarationinfo/queryDetailById?id=${this.params.id}`).then((res) => {
|
2022-05-19 11:43:39 +08:00
|
|
|
|
if (res.code == 0) {
|
|
|
|
|
|
this.form = {...res.data}
|
|
|
|
|
|
this.form.files = this.form.files || []
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
cancel(isRefresh) {
|
|
|
|
|
|
this.$emit('change', {
|
|
|
|
|
|
type: 'list',
|
|
|
|
|
|
isRefresh: !!isRefresh
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
changeStatus(title) {
|
|
|
|
|
|
this.dialogTitle = title
|
|
|
|
|
|
this.showDialog = true
|
2022-05-19 15:33:51 +08:00
|
|
|
|
},
|
|
|
|
|
|
onChange() {
|
|
|
|
|
|
if (!this.addUser.length) {
|
|
|
|
|
|
return this.$message.error('请选择转交人员')
|
|
|
|
|
|
}
|
|
|
|
|
|
this.dialogInfo.name = this.addUser[0].name
|
|
|
|
|
|
this.dialogInfo.wxUserId = this.addUser[0].id
|
|
|
|
|
|
},
|
|
|
|
|
|
statusConfirm() {
|
|
|
|
|
|
this.$refs["dialogInfo"].validate((valid) => {
|
|
|
|
|
|
if (valid) {
|
|
|
|
|
|
var url = '/app/apphelpdeclarationinfo/forward' //转交人员
|
|
|
|
|
|
if(this.dialogTitle == '审核处理') {
|
|
|
|
|
|
url = '/app/apphelpdeclarationinfo/audit'
|
|
|
|
|
|
}
|
|
|
|
|
|
this.dialogInfo.declarationId = this.form.id
|
|
|
|
|
|
this.instance.post(url, {
|
|
|
|
|
|
...this.dialogInfo,
|
|
|
|
|
|
}).then(res => {
|
|
|
|
|
|
if (res.code == 0) {
|
|
|
|
|
|
this.showDialog = false
|
|
|
|
|
|
this.$message.success("操作成功")
|
|
|
|
|
|
this.getDetail()
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.detail {
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
overflow: auto;
|
|
|
|
|
|
background: #f3f6f9;
|
|
|
|
|
|
.above{
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
.left{
|
|
|
|
|
|
width: 50%;
|
|
|
|
|
|
float: left;
|
|
|
|
|
|
}
|
|
|
|
|
|
.right{
|
|
|
|
|
|
width: 50%;
|
|
|
|
|
|
float: right;
|
|
|
|
|
|
}
|
|
|
|
|
|
.el-select{
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.el-date-editor.el-input{
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.iconEdit,.Edit{
|
|
|
|
|
|
color:#5088FF;
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
padding-left: 8px;
|
|
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
.color0 {
|
|
|
|
|
|
color: #f82;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.color1 {
|
|
|
|
|
|
color: #26f;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.color2 {
|
|
|
|
|
|
color: #f46;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.color3 {
|
|
|
|
|
|
color: #2EA222;
|
|
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
.ai-steps {
|
|
|
|
|
|
padding-bottom: 40px;
|
|
|
|
|
|
.ai-steps__item {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
padding-bottom: 44px;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
&:after {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
left: 12px;
|
|
|
|
|
|
top: 26px;
|
|
|
|
|
|
width: 1px;
|
|
|
|
|
|
height: calc(100% - 30px);
|
|
|
|
|
|
background: #DDDDDD;
|
|
|
|
|
|
content: " ";
|
|
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
&:last-child {
|
|
|
|
|
|
padding-bottom: 0;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
&:after {
|
|
|
|
|
|
display: none;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
.ai-steps__item--left {
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
margin-right: 16px;
|
|
|
|
|
|
.ai-steps__item--index{
|
2022-05-20 13:55:42 +08:00
|
|
|
|
width: 24px;
|
2022-05-19 15:33:51 +08:00
|
|
|
|
height: 24px;
|
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
border: 1px solid #ddd;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
color: #ddd;
|
|
|
|
|
|
font-size: 12px;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
.ai-steps__item--right {
|
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
|
color: #666;
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
display: flex;
|
2022-05-20 13:55:42 +08:00
|
|
|
|
width: calc(100% - 40px);
|
2022-05-19 15:33:51 +08:00
|
|
|
|
.ai-steps__item--content {
|
|
|
|
|
|
span {
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
h2 {
|
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
font-size: 14px;
|
2022-05-20 13:55:42 +08:00
|
|
|
|
word-break: break-all;
|
2022-05-19 15:33:51 +08:00
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
p {
|
|
|
|
|
|
margin-top: 8px;
|
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
font-size: 14px;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.ai-steps__item__avatar {
|
|
|
|
|
|
width: 40px;
|
|
|
|
|
|
height: 40px;
|
|
|
|
|
|
margin-right: 8px;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
|
2022-05-19 15:33:51 +08:00
|
|
|
|
img, h2 {
|
2022-05-19 11:43:39 +08:00
|
|
|
|
width: 40px;
|
|
|
|
|
|
height: 40px;
|
2022-05-19 15:33:51 +08:00
|
|
|
|
line-height: 40px;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
background: #2266FF;
|
2022-05-19 11:43:39 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2022-05-19 15:33:51 +08:00
|
|
|
|
}
|
2022-05-19 11:43:39 +08:00
|
|
|
|
</style>
|