169 lines
3.3 KiB
Vue
169 lines
3.3 KiB
Vue
<template>
|
||
<div class="form">
|
||
<div class="form-item form-item__textarea">
|
||
<div class="form-item__title">
|
||
<em>*</em>
|
||
<h2>{{type == 1 ? '帮扶内容' : '走访内容'}}</h2>
|
||
</div>
|
||
<textarea maxlength="500" v-model="detail" :placeholder="type == 1 ? '请输入帮扶内容' : '请输入走访内容'"></textarea>
|
||
<div class="hint">{{ detail.length }}/500</div>
|
||
</div>
|
||
<div class="form-item form-item__imgs">
|
||
<div class="form-item__title">
|
||
<h2>图片</h2>
|
||
<i>(最多9张)</i>
|
||
</div>
|
||
<div>
|
||
<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 {
|
||
detail: '',
|
||
pid: '',
|
||
files: [],
|
||
id: '',
|
||
type: ''
|
||
}
|
||
},
|
||
onLoad(query) {
|
||
this.pid = query.pid
|
||
this.type = query.type
|
||
if(query.id) {
|
||
this.id = query.id
|
||
this.getInfo()
|
||
}
|
||
},
|
||
onShow() {
|
||
if(this.type == 1) {
|
||
document.title = this.id ? '编辑帮扶日志' : '添加帮扶日志'
|
||
}else {
|
||
document.title = this.id ? '编辑走访日志' : '添加走访日志'
|
||
}
|
||
|
||
},
|
||
methods: {
|
||
getInfo() {
|
||
this.$http.post(`/app/apppreventionreturntopovertylog/queryDetailById?id=${this.id}`).then(res => {
|
||
if (res.code == 0) {
|
||
this.detail = res.data.detail
|
||
this.files = res.data.files || []
|
||
}
|
||
})
|
||
},
|
||
submit() {
|
||
if (!this.detail) {
|
||
return this.$u.toast('请输入帮扶内容')
|
||
}
|
||
this.$http.post('/app/apppreventionreturntopovertylog/addOrUpdate', {
|
||
detail: this.detail,
|
||
files: this.files,
|
||
pid: this.pid,
|
||
id: this.id,
|
||
type: this.type
|
||
}).then(res => {
|
||
if (res.code === 0) {
|
||
this.$u.toast('提交成功')
|
||
uni.$emit('reload')
|
||
setTimeout(() => {
|
||
uni.navigateBack({
|
||
delta: 1
|
||
})
|
||
}, 300)
|
||
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.form {
|
||
padding-bottom: 120px;
|
||
|
||
div {
|
||
margin-bottom: 16px;
|
||
background: #fff;
|
||
}
|
||
|
||
.form-item {
|
||
padding: 32px;
|
||
|
||
.form-item__title {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 34px;
|
||
|
||
em {
|
||
margin-right: 4px;
|
||
font-style: normal;
|
||
color: #FF4466;
|
||
}
|
||
|
||
h2 {
|
||
color: #333333;
|
||
font-weight: normal;
|
||
font-size: 32px;
|
||
}
|
||
|
||
i {
|
||
color: #999999;
|
||
font-size: 28px;
|
||
font-style: normal;
|
||
}
|
||
}
|
||
|
||
textarea {
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
.form-type {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 112px;
|
||
padding: 0 32px;
|
||
|
||
h2 {
|
||
font-weight: normal;
|
||
color: #333333;
|
||
font-size: 32px;
|
||
}
|
||
|
||
span {
|
||
color: #999999;
|
||
font-size: 28px;
|
||
}
|
||
}
|
||
|
||
.btn {
|
||
position: fixed;
|
||
left: 0;
|
||
bottom: 0;
|
||
z-index: 11;
|
||
width: 100%;
|
||
height: 112px;
|
||
line-height: 112px;
|
||
margin: 0;
|
||
text-align: center;
|
||
color: #FFFFFF;
|
||
font-size: 32px;
|
||
background: #3192F4;
|
||
}
|
||
|
||
.hint{
|
||
text-align: right;
|
||
color: #999;
|
||
}
|
||
}
|
||
</style>
|