Files
dvcp_v2_wxcp_app/library/apps/AppHelpDeclaration/result.vue
2024-10-31 14:34:57 +08:00

235 lines
5.5 KiB
Vue

<template>
<div class="result" showPage='false'>
<div class="type">
<div class="left">
<span>*</span>
<span v-if="status == 1">转交给</span>
<span v-if="status == 2">处理结果</span>
</div>
<div class="right">
<div style="display: flex" v-if="status == 1">
<AiPagePicker type="sysUser" @select="handlePartySelect" single :isFourParty="true" action="/app/wxcp/wxuser/list?status=1">
<AiMore v-model="doUsername" placeholder="请选择"/>
</AiPagePicker>
</div>
<div class="check_box" v-if="status == 2">
<div class="check-item" :class="auditStatus == '1' ? 'check-active' : '' " @click="auditStatus='1'">通过审核<img src="./components/img/check-icon.png" alt=""></div>
<div class="check-item" :class="auditStatus == '0' ? 'check-active' : '' " @click="auditStatus='0'">驳回申请<img src="./components/img/check-icon.png" alt=""></div>
</div>
</div>
</div>
<div class="remark">
<div class="top">
<span>*</span><span>办理意见</span>
</div>
<div class="bottom">
<u-input type="textarea" v-model="description" placeholder="请写下你的办理意见" maxlength="100" height="200" />
</div>
</div>
<div class="picture">
<div class="top">
<span style="margin-right: 8px"></span><span>图片上传<span style="color: #999;font-size:14px;">(最多9张)</span></span>
</div>
<div class="bottom">
<AiUploader :def.sync="files" multiple placeholder="上传图片" :limit="9" action="/admin/file/add2"></AiUploader>
</div>
</div>
<div class="btn" @click="submit">提交</div>
</div>
</template>
<script>
export default {
data() {
return {
description: '',
status: '',
files: [],
showPage: false,
id:'',
doUsername: '',
selectUser: {},
auditStatus: '',
wxUserId: '',
}
},
onLoad(o) {
this.$dict.load('fpRiskPersonOperation1','fpRiskPersonOperation2','fpRiskType').then(()=>{
this.status = o.status
this.id = o.id
this.showPage = true
})
},
methods: {
// 人员组件选择转交对象
handlePartySelect(e) {
console.log(e);
this.wxUserId = e[0].id
this.doUsername = e[0].name
},
submit() {
if (this.status == 1) {
if(!this.doUsername) {
return this.$u.toast('请选择转交对象')
}
}
if (this.status == 2) {
if(!this.auditStatus) {
return this.$u.toast('请选择处理结果')
}
}
if (!this.description) {
return this.$u.toast('请输入办理意见')
}
let url = ''
let form = {}
if (this.status == 1) {
form = {
doUsername: this.doUsername,
description: this.description,
files: this.files,
declarationId: this.id,
wxUserId: this.wxUserId,
}
url = '/app/apphelpdeclarationinfo/forward'
}
if (this.status == 2) {
form = {
auditStatus: this.auditStatus,
description: this.description,
files: this.files,
declarationId: this.id,
}
url = '/app/apphelpdeclarationinfo/audit'
}
this.$http.post(url,form).then(res => {
if (res.code == 0) {
this.$u.toast('提交成功')
uni.$emit('update')
setTimeout(() => {
uni.navigateBack({delta: 2})
},600)
}
})
}
},
onShow() {
document.title = this.status == 1? "转交": "审核处理"
}
}
</script>
<style lang="scss" scoped>
.result {
padding-bottom: 112px;
::v-deep .ai-uploader .fileList .default {
width: 160px;
height: 160px;
}
.type {
height: 112px;
line-height: 112px;
background: #FFF;
font-size: 32px;
display: flex;
justify-content: space-between;
padding: 0 32px;
box-sizing: border-box;
.left {
span:first-child {
color: #FF4466;
}
span:last-child {
color: #333333;
}
}
.right {
align-self: center;
text-align: right;
.check_box {
.check-item {
display: inline-block;
width: 150px;
height: 60px;
line-height: 64px;
text-align: center;
background: #F5F5F5;
border-radius: 4px;
font-size: 30px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333;
position: relative;
img {
display: none;
}
}
.check-item:nth-of-type(1) {
margin-right: 36px;
}
.check-active {
background: #E7F1FE;
color: #1174FE;
img {
display: block;
position: absolute;
bottom: 0;
right: 0;
width: 48px;
height: 48px;
}
}
}
}
}
.remark,
.picture {
box-sizing: border-box;
margin-top: 16px;
background: #FFF;
padding: 0 32px;
font-size: 32px;
.top {
padding-top: 20px;
span:first-child {
color: #FF4466;
}
span:last-child {
color: #333333;
}
}
.bottom {
padding: 30px 0;
}
}
.btn {
height: 112px;
line-height: 112px;
text-align: center;
background: #3192F4;
color: #FFF;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
font-size: 32px;
}
}
</style>