Files
dvcp_v2_wxcp_app/src/project/biaopin/AppAiInput/formEdit.vue
2023-12-25 15:13:10 +08:00

276 lines
7.6 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="formEdit">
<div class="title">
<span></span>请确认并校准您输入的内容
</div>
<div class="list">
<div class="item">
<div class="label">
<span>户主姓名</span>
<div class="edit" @click="editName=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<u-input type="text" class="right" placeholder="请输入" height="44" input-align="center" v-model="info.name" :clearable="false" v-if="editName"></u-input>
<span v-else>{{info.name || '请输入'}}</span>
</div>
</div>
<div class="item">
<div class="label">
<span>性别</span>
<div class="edit" @click="showSex=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<span>{{ $dict.getLabel('sex', info.sex) || '请选择'}}</span>
</div>
</div>
<div class="item">
<div class="label">
<span>联系电话</span>
<div class="edit" @click="editPhone=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<u-input type="text" class="right" placeholder="请输入" height="44" input-align="center" v-model="info.phone" :clearable="false" v-if="editPhone"></u-input>
<span v-else>{{info.phone || '请输入'}}</span>
</div>
</div>
<div class="item">
<div class="label">
<span>出生日期</span>
<div class="edit" @click="showDate=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<span>{{info.birthday || '请选择'}}</span>
</div>
</div>
<div class="item">
<div class="label">
<span>民族</span>
<div class="edit" @click="showNation=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<span>{{ $dict.getLabel('nation', info.nation) || '请选择'}}</span>
</div>
</div>
<div class="item pad-b">
<div class="label">
<span>家庭人口数</span>
<div class="edit" @click="editHouseholdNumber=true">
<img src="./img/edit.png" alt="">修改
</div>
</div>
<div class="value">
<u-input type="text" class="right" placeholder="请输入" height="44" input-align="center" v-model="info.householdNumber" :clearable="false" v-if="editHouseholdNumber"></u-input>
<span v-else>{{info.householdNumber || '请输入'}}</span>
</div>
</div>
</div>
<div class="bottom-btn">
<div class="confirm" @click="toConfirm">确认使用</div>
<div class="cancel" @click="back">取消输入</div>
</div>
<u-picker mode="time" v-model="showDate" :params="deteParams" start-year="1930" @confirm="dateConfirm">请选择</u-picker>
<u-select v-model="showSex" :list="$dict.getDict('sex')" label-name="dictName" value-name="dictValue" @confirm="confirmSex"/>
<u-select v-model="showNation" :list="$dict.getDict('nation')" label-name="dictName" value-name="dictValue" @confirm="confirmNation"/>
</div>
</template>
<script>
import {mapState} from "vuex";
export default {
name: 'formEdit',
data() {
return {
word: '',
info: {},
showSex: false,
showNation: false,
showDate: false,
deteParams: {year: true, month: true, day: true, hour: false, minute: false, second: false},
editName: false,
editPhone: false,
editHouseholdNumber: false,
}
},
computed: {
...mapState(['user']),
},
onLoad(option) {
this.word = option.word
this.$dict.load('sex', 'nation').then(() => {
this.getInfo()
})
},
onShow() {
document.title = '婚姻家庭纠纷入户登记表'
},
methods: {
getInfo() {
uni.showLoading({title: '读取中'})
this.$http.post(`/app/appbaiduai/queryByInfo?word=${this.word}`).then((res) => {
if (res.code === 0) {
this.info = {...res.data}
uni.hideLoading()
}
}).catch(res => {
uni.hideLoading()
this.$u.toast(res)
})
},
confirmSex(e) {
this.info.sex = e[0].value
},
confirmNation(e) {
this.info.nation = e[0].value
},
dateConfirm(e) {
this.info.birthday = `${e.year}-${e.month}-${e.day}`
},
toConfirm() {
// if(this.info.name == null || !this.info.name) {
// return this.$u.toast('请输入户主姓名')
// }
// if(this.info.sex == null) {
// return this.$u.toast('请选择性别')
// }
// if(this.info.phone == null || !this.info.phone) {
// return this.$u.toast('请输入联系电话')
// }
// if(this.info.birthday == null) {
// return this.$u.toast('请选择出生日期')
// }
// if(this.info.nation == null) {
// return this.$u.toast('请选择民族')
// }
// if(this.info.householdNumber == null || !this.info.householdNumber) {
// return this.$u.toast('请输入家庭人口数')
// }
var info = JSON.stringify(this.info)
uni.navigateTo({url: `./formConfirm?info=${info}`})
},
back() {
uni.navigateBack()
}
},
}
</script>
<style lang="scss" scoped>
uni-page-body {
min-height: 100%;
// height: 100vh;
background: #fff;
padding-top: 26px;
}
.formEdit {
.title {
padding-left: 32px;
font-family: PingFangSC-Medium;
font-weight: 500;
font-size: 32px;
color: #000;
line-height: 48px;
margin-bottom: 22px;
span {
display: inline-block;
width: 6px;
height: 28px;
background: #3399FF;
border-radius: 3px;
margin-right: 18px;
}
}
.list {
.item {
text-align: center;
margin-bottom: 64px;
.label {
margin-bottom: 18px;
span {
color: #999;
font-size: 40px;
font-family: PingFangSC;
font-weight: 500;
line-height: 60px;
text-align: center;
}
.edit {
display: inline-block;
width: 150px;
text-align: right;
font-family: PingFangSC-Regular;
font-size: 28px;
color: #3072F5;
vertical-align: text-bottom;
img {
width: 28px;
height: 28px;
margin: 0 12px 0 32px;
vertical-align: middle;
}
}
}
.value {
width: calc(100% - 150px);
.u-input, span{
display: inline-block;
width: 100%;
text-align: center;
color: #3975c6;
font-size: 40px;
font-family: PingFangSC;
font-weight: 500;
line-height: 60px;
}
::v-deep .uni-input-input {
color: #3975c6;
font-size: 40px;
font-family: PingFangSC;
font-weight: 500;
line-height: 60px;
}
}
}
.pad-b {
padding-bottom: 272px;
}
}
.bottom-btn {
position: fixed;
bottom: 0;
left: 0;
background-color: #fff;
div {
margin-left: 32px;
width: 686px;
height: 88px;
border-radius: 44px;
font-family: PingFangSC-Medium;
font-weight: 500;
font-size: 34px;
text-align: center;
line-height: 86px;
margin-bottom: 32px;
}
.confirm {
background: #3975C6;
color: #fff;
}
.cancel {
color: #666;
border: 1px solid #CCC;
}
}
}
</style>