Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -16,17 +16,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-item">
|
||||
<div class="form-item">
|
||||
<div class="form-item__wrapper">
|
||||
<div class="left">
|
||||
<i style="width: 8px;"></i>
|
||||
<span>选择户主</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<AiPagePicker class="select" :selected.sync="form.name">请选择</AiPagePicker>
|
||||
<AiPagePicker class="select" :selected.sync="userList">
|
||||
<span v-if="!userList.length">请选择</span>
|
||||
<span v-if="userList.length" style="color: #333;">{{ userList[0].name }}</span>
|
||||
<u-icon name="arrow-right" color="#DDD" size="28"></u-icon>
|
||||
</AiPagePicker>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<div class="form-item__wrapper">
|
||||
<div class="left">
|
||||
@@ -83,7 +87,8 @@
|
||||
<span>现住址</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<AiAreaPicker ref="address" class="aiArea" :fullName.sync="form.currentAreaName" v-model="form.currentAreaId" :areaId="user.areaId" all @select="onAreaChange">
|
||||
<!-- :areaId="user.areaId" v-model="form.currentAreaId"-->
|
||||
<AiAreaPicker ref="address" class="aiArea" :fullName.sync="form.currentAreaName" v-model="form.currentAreaId" :root="user.areaId" @select="onAreaChange">
|
||||
<div class="aiArea">
|
||||
<span class="label" v-if="form.currentAreaName">{{ form.currentAreaName }}</span>
|
||||
<i v-else>请选择</i>
|
||||
@@ -156,7 +161,7 @@
|
||||
</div>
|
||||
<!-- <div style="height: 8px; width: 100%;background: #f3f4f5;"></div> -->
|
||||
|
||||
<div class="form-group" v-if="isEdit">
|
||||
<div class="form-group" v-if="flag">
|
||||
<div class="form-item">
|
||||
<div class="form-item__wrapper">
|
||||
<div class="left">
|
||||
@@ -169,13 +174,23 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<div class="form-item__wrapper">
|
||||
<div class="form-item__wrapper checkbox">
|
||||
<div class="left">
|
||||
<i style="opacity: 0;">*</i>
|
||||
<span>健康状况</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
||||
<AiSelect dict="fpHealth" v-model="form.healthyStatus"></AiSelect>
|
||||
<!-- <u-checkbox-group>
|
||||
<u-checkbox
|
||||
v-model="e.checked"
|
||||
v-for="(e, i) in fpHealth" :key="i"
|
||||
:name="item.dictValue"
|
||||
@change="checkboxChange(indexs, index, i)"
|
||||
>{{ e.dictName }}
|
||||
</u-checkbox>
|
||||
</u-checkbox-group> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -216,7 +231,7 @@
|
||||
|
||||
<!-- <div style="height: 8px; width: 100%;background: #f3f4f5;"></div> -->
|
||||
|
||||
<div class="form-group" v-if="isEdit">
|
||||
<div class="form-group" v-if="flag">
|
||||
<div class="form-item">
|
||||
<div class="form-item__wrapper">
|
||||
<div class="left">
|
||||
@@ -289,7 +304,7 @@
|
||||
</div>
|
||||
<div style="height: 8px; width: 100%;background: #f3f4f5;"></div>
|
||||
<div class="remark">
|
||||
<p><span style="color: #FF4466;">*</span>备注说明</p>
|
||||
<p><span style="display: inline-block;width: 6px;"></span>备注说明</p>
|
||||
<div>
|
||||
<u-input v-model="form.detail" type="textarea" height="150" placeholder="请输入备注说明" :maxlength='500' clearable />
|
||||
</div>
|
||||
@@ -298,7 +313,7 @@
|
||||
<div class="remark">
|
||||
<p><span style="width: 8px;"></span>图片<span style="color: #999;font-size: 14px;">(最多9张)</span></p>
|
||||
<div style="margin-top: 30px;">
|
||||
<AiUploader :def.sync="form.files" multiple placeholder="上传图片" :limit="1" action="/admin/file/add2"></AiUploader>
|
||||
<AiUploader :def.sync="form.files" multiple placeholder="上传图片" :limit="9" action="/admin/file/add2"></AiUploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -356,11 +371,29 @@ export default {
|
||||
isEdit: false,
|
||||
id: '',
|
||||
girdInfo: {},
|
||||
photo: []
|
||||
photo: [],
|
||||
userList: [],
|
||||
flag: false,
|
||||
helthList: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
|
||||
userChange() {
|
||||
if(this.userList.length) {
|
||||
this.isEdit = true;
|
||||
this.form.name = this.userList[0].name
|
||||
this.form.idNumber = this.userList[0].idNumber
|
||||
return [this.isEdit,this.form.name,this.form.idNumber]
|
||||
}
|
||||
},
|
||||
sexChange() {
|
||||
if(this.form.idNumber) {
|
||||
return this.form.sex = this.form.idNumber.substr(16, 1) % 2 == 0 ? '1' : '0'
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onLoad(query) {
|
||||
@@ -368,13 +401,22 @@ export default {
|
||||
this.$dict.load(['fpType','fpRiskType', 'riskEliminationMethod', 'fpRiskType', 'fpYesOrNo', 'fpNation', 'fpEducation', 'fpStudentsInSchool', 'fpHealth',
|
||||
'fpLaborSkills', 'fpPoliticalOutlook', 'sex', 'fpHealth']).then(() => {
|
||||
if (query.id) {
|
||||
this.isEdit = true
|
||||
this.flag = true
|
||||
this.id = query.id
|
||||
this.getInfo(this.id)
|
||||
// this.photo = this.form.files[0].url
|
||||
}else {
|
||||
this.form.currentAreaId = this.user.areaId
|
||||
}
|
||||
})
|
||||
// var dictList = []
|
||||
// console.log(this.$dict.getDict('fpHealth'));
|
||||
// this.$dict.getDict('fpHealth').map((item) => {
|
||||
// dictList.push(item.dictValue)
|
||||
// })
|
||||
// return helthList = dictList.join(',')
|
||||
// console.log(dictList.join(','));
|
||||
|
||||
|
||||
},
|
||||
|
||||
@@ -383,11 +425,6 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
toSelect() {
|
||||
// uni.navigateTo({
|
||||
// url: './residentList'
|
||||
// })
|
||||
},
|
||||
rules() {
|
||||
return {
|
||||
objectType: '请选择监测对象类型',
|
||||
@@ -398,12 +435,6 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
getResidentList() {
|
||||
this.$http.post('').then(res => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
getResidentList() {
|
||||
uni.navigateTo({
|
||||
url: './residentList'
|
||||
@@ -445,10 +476,6 @@ export default {
|
||||
if(!this.form.riskType) {
|
||||
return this.$u.toast('请选择风险因素')
|
||||
}
|
||||
|
||||
if(!this.form.detail) {
|
||||
return this.$u.toast('请输入备注说明')
|
||||
}
|
||||
|
||||
this.$http.post('/app/apppreventionreturntopoverty/addByEwechat', {
|
||||
...this.form,
|
||||
@@ -573,6 +600,11 @@ export default {
|
||||
border-bottom: 1px solid #E4E5E6;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
display: flex;
|
||||
|
||||
}
|
||||
|
||||
.right {
|
||||
height: 112px;
|
||||
line-height: 112px;
|
||||
@@ -637,12 +669,6 @@ export default {
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
// &:last-child {
|
||||
// .form-item__wrapper {
|
||||
// border: none;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -727,5 +753,8 @@ export default {
|
||||
.border-b0{
|
||||
border-bottom: 0!important;
|
||||
}
|
||||
::v-deep .AiSelect .display .selectedLabel {
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
<p>{{ info.phone }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<span @click="linkTo('./Add?id=' + info.id)" v-if="info.status == 1">编辑</span>
|
||||
<!-- v-if="info.status == 1" -->
|
||||
<span @click="linkTo('./Add?id=' + info.id)">编辑</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>现住地址</label>
|
||||
@@ -159,7 +160,7 @@
|
||||
<h2>收支情况</h2>
|
||||
<i :style="{color: isIncome ? '#2EA222' : '#FF4466'}">({{ isIncome ? '已填写' : '未填写' }})</i>
|
||||
</div>
|
||||
<span @click="linkTo(`./MonitorIncome?id=${info.id}&girdId=${girdInfo.girdId}&girdName=${girdInfo.girdName}`)" v-if="info.status == 1">编辑</span>
|
||||
<span @click="linkTo(`./MonitorIncome?id=${info.id}&girdId=${girdInfo.girdId}&girdName=${girdInfo.girdName}`)">编辑</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>家庭纯收入</label>
|
||||
@@ -208,7 +209,7 @@
|
||||
</div>
|
||||
<div class="right">
|
||||
<span>{{ item.createTime }}</span>
|
||||
<u-icon name="list" color="#999" size="28" @click="edit(item.id)" style="margin-left:16px;"></u-icon>
|
||||
<u-icon name="list" color="#999" size="28" @click="edit(item.id)" style="margin-left:16px;" v-if="item.createUserId == user.id && item.operationDesc == '走访排查'"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<p style="color: #999999;">操作类型:{{ item.operationDesc }}</p>
|
||||
@@ -238,23 +239,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="checkType == 2 && currIndex != 1">
|
||||
<div class="footer-btn" v-if="info.status == 0">
|
||||
<!-- <div @click="toRemove('您确认要驳回此居民的监测对象申请吗?', 0)">驳回申请</div> -->
|
||||
<div v-if="checkType == 2 && currIndex != 1">
|
||||
|
||||
<div class="footer-btn" v-if="info.status == 0 || info.status == 3">
|
||||
<div class="confirm-btn" @click="toRemove('您确认要将此居民纳入监测对象吗?', 1)">纳入监测</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-btn" v-if="info.status == 1">
|
||||
<!-- <div @click="del">删除人员</div> -->
|
||||
<div class="confirm-btn" @click="toRemove('您确认要解除此监测对象的风险吗?', 1)">消除风险</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-btn" v-if="info.status == 2">
|
||||
<!-- <div @click="toRemove('您确认要继续监测该居民?', 0)">继续监测</div> -->
|
||||
<div class="confirm-btn" @click="toRemove('您确认要解除此监测对象的风险吗?', 1)">消除风险</div>
|
||||
</div>
|
||||
<div class="footer-btn" v-if="info.status == 3">
|
||||
<!-- <div @click="del">删除人员</div> -->
|
||||
<div class="confirm-btn" @click="toRemove('您确认要将此居民纳入监测对象吗?', 1)">纳入监测</div>
|
||||
<div class="confirm-btn" @click="toRemove('您确认要解除此监测对象的风险吗?', '')">消除风险审批</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-btn" v-if="info.status == 4">
|
||||
<div @click="del">删除人员</div>
|
||||
</div>
|
||||
@@ -264,7 +262,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
name: 'detail',
|
||||
|
||||
@@ -283,6 +281,7 @@ export default {
|
||||
|
||||
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
isIncome() {
|
||||
if (!this.info.id) {
|
||||
return false
|
||||
@@ -436,10 +435,8 @@ export default {
|
||||
},
|
||||
|
||||
toAddView(text, pass) {
|
||||
// console.log(111);
|
||||
this.$confirm('', text).then(() => {
|
||||
uni.navigateTo({url: `./MonitorAddView?pass=${pass}&id=${this.info.id}&status=${this.info.status}`})
|
||||
// console.log(222);
|
||||
// this.$http.post(`/app/apppreventionreturntopoverty/examine?id=${this.id}&pass=${pass}`).then(res => {
|
||||
// if (res.code === 0) {
|
||||
// this.$u.toast('操作成功')
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
<div v-else class="empty">
|
||||
<img src="https://cdn.cunwuyun.cn/dvcp/h5/no-admin.png" alt="">
|
||||
<p>没有网格员权限<br />无法查看监测信息哦~</p>
|
||||
<!-- <div class="add-btn" @click="linkTo('./AddUser')">网格员信息申报</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -432,6 +432,7 @@ export default {
|
||||
<style lang="scss">
|
||||
.add {
|
||||
padding-bottom: 120px;
|
||||
width: 100%;
|
||||
|
||||
::v-deep .u-radio {
|
||||
&:last-child {
|
||||
@@ -598,5 +599,9 @@ export default {
|
||||
.border-b0{
|
||||
border-bottom: 0!important;
|
||||
}
|
||||
|
||||
::v-deep .familyMember .item {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -36,6 +36,7 @@ export default {
|
||||
id: '',
|
||||
type: '',
|
||||
operationDesc: '',
|
||||
flag: false,
|
||||
}
|
||||
},
|
||||
onLoad(query) {
|
||||
@@ -59,18 +60,21 @@ export default {
|
||||
getInfo() {
|
||||
this.$http.post(`/app/apppreventionreturntopovertylog/queryDetailById?id=${this.id}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.operationDesc = res.data.operationDesc
|
||||
this.detail = res.data.detail
|
||||
this.files = res.data.files || []
|
||||
}
|
||||
})
|
||||
},
|
||||
submit() {
|
||||
if(this.flag) return
|
||||
if (!this.operationDesc) {
|
||||
return this.$u.toast('请选择帮扶类型')
|
||||
}
|
||||
if (!this.detail) {
|
||||
return this.$u.toast('请输入帮扶内容')
|
||||
}
|
||||
this.flag = true
|
||||
this.$http.post('/app/apppreventionreturntopovertylog/addOrUpdate', {
|
||||
detail: this.detail,
|
||||
files: this.files,
|
||||
@@ -98,21 +102,20 @@ export default {
|
||||
<style lang="scss">
|
||||
.form {
|
||||
padding-bottom: 120px;
|
||||
|
||||
div {
|
||||
margin-bottom: 16px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
|
||||
.help {
|
||||
padding: 32px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
background: #fff;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.form-item {
|
||||
padding: 32px;
|
||||
background: #fff;
|
||||
margin-bottom: 16px;
|
||||
|
||||
.form-item__title {
|
||||
display: flex;
|
||||
|
||||
@@ -63,9 +63,9 @@ export default {
|
||||
return this.$u.toast('请选择风险消除方式')
|
||||
}
|
||||
}
|
||||
if(!this.opinion) {
|
||||
return this.$u.toast('请输入备注说明')
|
||||
}
|
||||
// if(!this.opinion) {
|
||||
// return this.$u.toast('请输入备注说明')
|
||||
// }
|
||||
if(this.file.length > 0) {
|
||||
var files = []
|
||||
this.file.map(item => {
|
||||
@@ -74,7 +74,7 @@ export default {
|
||||
this.filesList = files.join(',')
|
||||
}
|
||||
|
||||
if(this.status == 0) {
|
||||
if(this.status == 0) { // 纳入监测
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/examine`, null,{
|
||||
params: {
|
||||
pass: this.pass,
|
||||
@@ -85,7 +85,7 @@ export default {
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
this.$u.toast('提交成功')
|
||||
uni.$emit('reload')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
},600)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
} else { // 驳回
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/relieve`, null,{
|
||||
params: {
|
||||
pass: this.pass,
|
||||
@@ -105,7 +105,7 @@ export default {
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
this.$u.toast('提交成功')
|
||||
uni.$emit('reload')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="top">
|
||||
<div class="left">
|
||||
<h2>{{ item.name }}</h2>
|
||||
<span>{{ item.idNumber }}</span>
|
||||
<span>{{ item.idNumber.replace(/(.{6}).*(.{4})/, '$1********$2') }}</span>
|
||||
</div>
|
||||
<span v-if="item.isHousehold == 1">户主</span>
|
||||
<span v-else>{{ $dict.getLabel('fpRelationship', item.householdRelation) }}</span>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div><span style="color: #FF4466;">*</span>备注说明</div>
|
||||
<div><span style="display: inline-block;width: 6px;"></span>备注说明</div>
|
||||
<div>
|
||||
<u-input v-model="form.opinion" type="textarea" placeholder="请输入备注说明" height="200" :maxlength="500"></u-input>
|
||||
</div>
|
||||
@@ -111,9 +111,9 @@ export default {
|
||||
})
|
||||
},
|
||||
submit() {
|
||||
if (!this.form.opinion) {
|
||||
return this.$u.toast('请输入备注说明')
|
||||
}
|
||||
// if (!this.form.opinion) {
|
||||
// return this.$u.toast('请输入备注说明')
|
||||
// }
|
||||
|
||||
if (this.form.pass == 1) { // 申请纳入
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/examine`,null,{
|
||||
@@ -122,14 +122,14 @@ export default {
|
||||
id: this.id,
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
if (res.code == 0) {
|
||||
this.$u.toast('提交成功')
|
||||
uni.$emit('reload')
|
||||
setTimeout(() =>{
|
||||
uni.navigateBack({
|
||||
delta: 2
|
||||
})
|
||||
})
|
||||
},600)
|
||||
}
|
||||
})
|
||||
} else if (this.form.pass == 0){ // 申请解除
|
||||
@@ -139,14 +139,14 @@ export default {
|
||||
id: this.id,
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
if (res.code == 0) {
|
||||
this.$u.toast('提交成功')
|
||||
uni.$emit('reload')
|
||||
setTimeout(() =>{
|
||||
uni.navigateBack({
|
||||
delta: 2
|
||||
})
|
||||
})
|
||||
},600)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user