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

167 lines
4.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="MonitorAddView">
<div class="containter">
<div class="type" v-if="status == 3 || status == 4 || status == 0 || status == 5">
<div><span style="color: #FF4466">*</span>风险因素</div>
<div>
<AiSelect dict="fpRiskType" v-model="riskType" />
</div>
</div>
<div class="type" v-if="status == 1">
<div><span style="color: #FF4466">*</span>风险消除方式</div>
<div>
<AiSelect dict="fpRiskEliminationMethod" v-model="riskEliminationMethod" />
</div>
</div>
<div class="remark">
<div class="title"><span style="display: inline-block;width: 8px;"></span>备注说明</div>
<u-input v-model="opinion" type="textarea" placeholder="请输入备注说明" height="200" :maxlength="500"></u-input>
</div>
<div class="remark">
<div class="title"><span style="display: inline-block;width: 8px;"></span>图片<span style="color: #999999;font-size: 14px;">(最多9张)</span></div>
<div style="padding-bottom: 20px; box-sizing: border-box;">
<AiUploader :def.sync="file" multiple placeholder="上传图片" :limit="9" action="/admin/file/add2"></AiUploader>
</div>
</div>
</div>
<div class="btn" @click="submit">提交</div>
</div>
</template>
<script>
export default {
name: 'MonitorAddView',
data() {
return {
riskType: '',
opinion: '',
pass: '',
file: [],
filesList: [],
riskEliminationMethod: '',
status: '',
}
},
onLoad(o) {
this.$dict.load('fpRiskType')
this.pass = o.pass,
this.id = o.id
this.status = o.status
},
onShow() {
document.title = (this.status == 3 || this.status == 4 || this.status==5) && this.pass ==''? '申请纳入监测': this.status == 1 && this.pass ==''? '申请解除风险' : this.status == 1 && this.pass ==1? '解除风险': (this.status == 4 || this.status==3 || this.status==5) && this.pass == 1? '纳入监测':''
},
methods: {
submit() {
var url = ''
var params = {
pass: this.pass || '',
opinion: this.opinion,
files: this.filesList,
id: this.id,
riskType: this.riskType,
riskEliminationMethod: this.riskEliminationMethod,
}
// 0待纳入、1监测中、2待解除、3已解除、4已驳回、5已脱贫
if(this.pass == 1) { // 网格长
if(this.status == 1) {
if(!this.riskEliminationMethod) {
return this.$u.toast('请选择风险消除方式')
}
url = '/app/apppreventionreturntopoverty/relieve' // 解除
} else if (this.status == 3 || this.status == 4 || this.status == 5) {
if(!this.riskType) {
return this.$u.toast('请选择风险因素')
}
url = `/app/apppreventionreturntopoverty/examine` // 纳入监测
}
}
if (this.pass == '') { // 网格员
if(this.status == '0' || this.status == '3' || this.status == '4' || this.status == '5') {
if(!this.riskType) {
return this.$u.toast('请选择风险因素')
}
}
if(this.status == '1') {
if(!this.riskEliminationMethod) {
return this.$u.toast('请选择风险消除方式')
}
}
if(this.file.length > 0) {
var files = []
this.file.map(item => {
files.push(item.id)
})
this.filesList = files.join(',')
}
if(this.status == 0 || this.status == 3 || this.status == 4 || this.status == 5) {
url = `/app/apppreventionreturntopoverty/examine` // 纳入监测申请
} else {
url = `/app/apppreventionreturntopoverty/relieve` // 消除申请
}
}
var formData = new FormData()
for (let key in params) {
formData.append(key, params[key])
}
this.$http.post(url , formData).then(res => {
if (res.code === 0) {
this.$u.toast('提交成功')
uni.$emit('reload')
setTimeout(() => {
uni.navigateBack({
delta: 2
})
},600)
}
})
}
},
}
</script>
<style lang="scss" scoped>
.MonitorAddView {
.containter {
padding-bottom: 112px;
box-sizing: border-box;
}
.type {
display: flex;
justify-content: space-between;
height: 112px;
line-height: 112px;
background: #FFF;
padding: 0 32px;
box-sizing: border-box;
}
.remark {
margin-top: 16px;
background: #FFF;
padding: 0 32px;
box-sizing: border-box;
.title {
padding: 30px 0 15px 0;
}
}
::v-deep .ai-uploader .fileList .default {
width: 160px;
height: 160px;
}
.btn {
width: 100%;
height: 112px;
line-height: 112px;
text-align: center;
background: #3192F4;
color: #FFFFFF;
position: fixed;
bottom: 0;
left: 0;
}
}
</style>