社区管理

This commit is contained in:
liuye
2022-11-25 13:23:36 +08:00
parent 49b6c428b3
commit fbfcc47702
5 changed files with 176 additions and 14 deletions

View File

@@ -148,6 +148,9 @@ export default {
if(!this.form.startAreaId) { if(!this.form.startAreaId) {
return this.$u.toast('请选择出发地') return this.$u.toast('请选择出发地')
} }
if (this.form.startAreaId.substr(4,this.form.startAreaId.length - 4) === '00000000') {
return this.$toast('出发地必须选至县级及以下')
}
if(!this.travelType.length) { if(!this.travelType.length) {
return this.$u.toast('请选择出行方式') return this.$u.toast('请选择出行方式')
} }
@@ -197,7 +200,6 @@ export default {
if(res.data.arriveTime) { if(res.data.arriveTime) {
this.form.arriveTime = res.data.arriveTime.substring(0, 16) this.form.arriveTime = res.data.arriveTime.substring(0, 16)
} }
console.log(this.travelType)
} }
}) })
}, },
@@ -220,10 +222,19 @@ export default {
this.form[this.selectFormName] = e[0].value this.form[this.selectFormName] = e[0].value
}, },
areaSelectStart(e) { areaSelectStart(e) {
this.startAreaId = e this.form.startAreaId = e
this.getRiskLevel(e)
}, },
areaSelectArrive(e) { areaSelectArrive(e) {
this.arriveAreaId = e this.form.arriveAreaId = e
},
// 获取风险等级
getRiskLevel(areaId) {
this.$http.post(`/app/appepidemicpreventionriskarea/queryAreaRiskLevel?areaId=${areaId}`).then(res=> {
if(res?.data) {
this.form.riskLevel = res.data
}
})
}, },
}, },
} }

View File

@@ -84,7 +84,7 @@
</div> </div>
</div> </div>
<AiEmpty description="暂无数据" class="emptyWrap" v-else></AiEmpty> <AiEmpty description="暂无数据" class="emptyWrap" v-else></AiEmpty>
<AiAdd @add="add"/> <AiAdd @add="add" v-if="!currentTabs"/>
<u-calendar v-model="showDate" mode="range" @change="changeDate"></u-calendar> <u-calendar v-model="showDate" mode="range" @change="changeDate"></u-calendar>
<u-select v-model="showTypeSelect" :list="registerTypeList" label-name="dictName" value-name="dictValue" @confirm="typeConfirm"></u-select> <u-select v-model="showTypeSelect" :list="registerTypeList" label-name="dictName" value-name="dictValue" @confirm="typeConfirm"></u-select>
</div> </div>

View File

@@ -12,7 +12,7 @@
<p><img src="./components/img/org-icon.png" alt=""><span class="start-name">{{info.startAreaName}}</span></p> <p><img src="./components/img/org-icon.png" alt=""><span class="start-name">{{info.startAreaName}}</span></p>
<p><img src="./components/img/blue-icon.png" alt=""><span class="start-name">{{info.arriveAreaName}}</span></p> <p><img src="./components/img/blue-icon.png" alt=""><span class="start-name">{{info.arriveAreaName}}</span></p>
<p><img src="./components/img/time-icon.png" alt="">{{info.arriveTime}}</p> <p><img src="./components/img/time-icon.png" alt="">{{info.arriveTime}}</p>
<p><img src="./components/img/point-icon.png" alt="">{{info.gatewayName}}</p> <p v-if="info.gatewayName"><img src="./components/img/point-icon.png" alt="">{{info.gatewayName}}</p>
</div> </div>
</div> </div>
<div class="info"> <div class="info">
@@ -119,6 +119,116 @@
</div> </div>
</div> </div>
</div> </div>
<div class="info" v-if="info.handleType != 0">
<div class="title">处置意见</div>
<div v-for="(item, index) in info.riskDisposalList" :key="index">
<div class="item-flex">
<div class="label">处置人员</div>
<div class="value">{{item.createUserName}}</div>
</div>
<div class="item-flex">
<div class="label">联系电话</div>
<div class="value">{{item.createUserPhone}}</div>
</div>
<div class="item-flex">
<div class="label">处置意见</div>
<div class="value">{{ $dict.getLabel('EP_handleType', item.handleType) }}</div>
</div>
<div v-if="item.handleType == 2">
<div class="item-flex">
<div class="label">集中隔离地</div>
<div class="value">{{ $dict.getLabel('EP_quarantineAddress', item.quarantineAddress) }}</div>
</div>
<div class="item-flex">
<div class="label">隔离时间</div>
<div class="value">{{item.quarantineBeginTime.substring(0, 10)}}{{item.quarantineEndTime.substring(0, 10)}}</div>
</div>
<div class="item-flex">
<div class="label">隔离策略</div>
<div class="value">{{ $dict.getLabel('EP_quarantineStrategy', item.quarantineStrategy) }}</div>
</div>
</div>
<div v-if="item.handleType == 3">
<!-- <div class="item-flex">
<div class="label">居家状态</div>
<div class="value">{{ $dict.getLabel('EP_homeStatus', item.homeStatus) }}</div>
</div>
<div class="item-flex">
<div class="label">隔离时间</div>
<div class="value">{{item.quarantineBeginTime.substring(0, 10)}}{{item.quarantineEndTime.substring(0, 10)}}</div>
</div>
<div class="item-flex">
<div class="label">隔离策略</div>
<div class="value">{{ $dict.getLabel('EP_quarantineStrategy', item.quarantineStrategy) }}</div>
</div>
<div class="item-flex">
<div class="label">管控方式</div>
<div class="value">{{ $dict.getLabel('EP_controlMethod', item.controlMethod) }}</div>
</div>
<div class="item-flex border-none">
<div style="color:#999;">备注</div>
</div>
<p style="padding-bottom: 12px;">{{item.remarks}}</p> -->
<div class="item-flex border-none" v-if="item.fileList && item.fileList.length" style="border-top:1px solid #ddd">
<div style="color:#999;">图片</div>
</div>
<div class="img-list">
<img :src="items.url" alt="" v-for="(items, indexs) in item.fileList" :key="indexs" @click="previewImage(item.fileList, items.url)">
</div>
</div>
<div v-if="item.handleType == 2 || item.handleType == 3 || item.handleType == 6">
<div v-if="item.handoverObject != null && item.handoverObject !== ''">
<div class="item-flex">
<div class="label">移交对象</div>
<div class="value">{{ $dict.getLabel('EP_handoverObject', item.handoverObject) }}</div>
</div>
<div class="item-flex">
<div class="label">移交方式</div>
<div class="value">{{ $dict.getLabel('EP_handoverMethod', item.handoverMethod) }}</div>
</div>
<div class="item-flex">
<div class="label">交接人姓名</div>
<div class="value">{{item.handoverPersonName}}</div>
</div>
<div class="item-flex">
<div class="label">手机号</div>
<div class="value" style="color:#4181FF;" @click="callPhone(item.handoverPersonPhone)">
<img :src="$cdn + 'common/phone.png'" alt="" class="phone-icon" >
{{item.handoverPersonPhone}}</div>
</div>
<div class="item-flex border-none" v-if="item.fileList && item.fileList.length">
<div style="color:#999;">交接图片</div>
</div>
<div class="img-list">
<img :src="items.url" alt="" v-for="(items, indexs) in item.fileList" :key="indexs" @click="previewImage(item.fileList, items.url)">
</div>
</div>
</div>
<div class="item-flex" v-if="item.homeStatus !== '' && item.homeStatus != null">
<div class="label">居家状态</div>
<div class="value">{{ $dict.getLabel('EP_homeStatus', item.homeStatus) }}</div>
</div>
<div class="item-flex" v-if="item.handleType != 2 && item.quarantineBeginTime">
<div class="label">隔离时间</div>
<div class="value">{{item.quarantineBeginTime.substring(0, 10)}}{{item.quarantineEndTime.substring(0, 10)}}</div>
</div>
<div class="item-flex" v-if="item.handleType != 2 && item.quarantineStrategy !== '' && item.quarantineStrategy != null">
<div class="label">隔离策略</div>
<div class="value">{{ $dict.getLabel('EP_quarantineStrategy', item.quarantineStrategy) }}</div>
</div>
<div class="item-flex" v-if="item.controlMethod !== '' && item.controlMethod != null">
<div class="label">管控方式</div>
<div class="value">{{ $dict.getLabel('EP_controlMethod', item.controlMethod) }}</div>
</div>
<div class="item-flex border-none" v-if="item.remarks">
<div style="color:#999;">备注</div>
</div>
<p style="padding-bottom: 12px;" v-if="item.remarks">{{item.remarks}}</p>
</div>
</div>
</div> </div>
<div class="controll-info" v-else> <div class="controll-info" v-else>
<div class="info"> <div class="info">
@@ -163,7 +273,10 @@
</div> </div>
<div class="item-flex" v-if="controllInfo.status != 0"> <div class="item-flex" v-if="controllInfo.status != 0">
<div class="label">联系方式</div> <div class="label">联系方式</div>
<div class="value" @click="callPhone(controllInfo.controllerUserPhone)">{{controllInfo.controllerUserPhone}}</div> <div class="value" style="color:#4181FF;" @click="callPhone(controllInfo.controllerUserPhone)">
<img :src="$cdn + 'common/phone.png'" alt="" class="phone-icon">
{{controllInfo.controllerUserPhone}}
</div>
</div> </div>
</div> </div>
<div class="line-bg"></div> <div class="line-bg"></div>

View File

@@ -218,6 +218,9 @@ export default {
if(!this.form.startAreaId) { if(!this.form.startAreaId) {
return this.$u.toast('请选择出发地') return this.$u.toast('请选择出发地')
} }
if (this.form.startAreaId.substr(4,this.form.startAreaId.length - 4) === '00000000') {
return this.$toast('出发地必须选至县级及以下')
}
if(!this.form.arriveTime) { if(!this.form.arriveTime) {
return this.$u.toast('请选择抵平时间') return this.$u.toast('请选择抵平时间')
} }
@@ -287,10 +290,20 @@ export default {
this.form[this.selectFormName] = e[0].value this.form[this.selectFormName] = e[0].value
}, },
areaSelectStart(e) { areaSelectStart(e) {
this.startAreaId = e this.form.startAreaId = e
console.log(11)
this.getRiskLevel(e)
}, },
areaSelectArrive(e) { areaSelectArrive(e) {
this.arriveAreaId = e this.form.arriveAreaId = e
},
// 获取风险等级
getRiskLevel(areaId) {
this.$http.post(`/app/appepidemicpreventionriskarea/queryAreaRiskLevel?areaId=${areaId}`).then(res=> {
if(res?.data) {
this.form.riskLevel = res.data
}
})
}, },
idNumberChange(e) { idNumberChange(e) {
if(e.detail.value.length) { if(e.detail.value.length) {
@@ -299,7 +312,7 @@ export default {
}, },
// 获取个人信息 // 获取个人信息
getOwnerInfo(idNumber) { getOwnerInfo(idNumber) {
this.$instance.post(`/app/appepidemicpreventionregisterinfo/queryDetailByIdNumber`, null, { this.$http.post(`/app/appepidemicpreventionregisterinfo/queryDetailByIdNumber`, null, {
params: { params: {
idNumber: idNumber, idNumber: idNumber,
} }

View File

@@ -12,11 +12,11 @@
<p><img src="./components/img/org-icon.png" alt=""><span class="start-name">{{info.startAreaName}}</span></p> <p><img src="./components/img/org-icon.png" alt=""><span class="start-name">{{info.startAreaName}}</span></p>
<p><img src="./components/img/blue-icon.png" alt=""><span class="start-name">{{info.arriveAreaName}}</span></p> <p><img src="./components/img/blue-icon.png" alt=""><span class="start-name">{{info.arriveAreaName}}</span></p>
<p><img src="./components/img/time-icon.png" alt="">{{info.arriveTime}}</p> <p><img src="./components/img/time-icon.png" alt="">{{info.arriveTime}}</p>
<p><img src="./components/img/point-icon.png" alt="">{{info.gatewayName}}</p> <p v-if="info.gatewayName"><img src="./components/img/point-icon.png" alt="">{{info.gatewayName}}</p>
</div> </div>
</div> </div>
<div class="info"> <div class="info">
<div class="title">基本信息</div> <div class="title">基本信息<span @click="changeIdNumber" style="color:#4181FF;">{{ isIdNumberInput ? '保存' : '编辑' }}</span></div>
<div class="item-flex"> <div class="item-flex">
<div class="label">姓名</div> <div class="label">姓名</div>
<div class="value">{{info.name}}</div> <div class="value">{{info.name}}</div>
@@ -24,7 +24,8 @@
<div class="item-flex"> <div class="item-flex">
<div class="label">身份证号</div> <div class="label">身份证号</div>
<div class="value"> <div class="value">
<span>{{info.idNumberText}}</span> <u-input v-if="isIdNumberInput" type="number" input-align="right" height="32" maxlength="18" v-model="info.idNumber" :custom-style="{'font-size': '17px'}" />
<span v-else>{{info.idNumberText}}</span>
</div> </div>
</div> </div>
<div class="item-flex"> <div class="item-flex">
@@ -288,7 +289,8 @@ export default {
'font-weight' : '400', 'font-weight' : '400',
}, },
currentTabs: 0, currentTabs: 0,
info: {} info: {},
isIdNumberInput: false, //true保存 false编辑
} }
}, },
computed: { computed: {
@@ -306,6 +308,29 @@ export default {
document.title = '排查管理' document.title = '排查管理'
}, },
methods: { methods: {
changeIdNumber() {
this.isIdNumberInput = !this.isIdNumberInput
if(!this.isIdNumberInput) {
this.changeIdNumberConfirm()
}
},
changeIdNumberConfirm() {
if (!this.info.idNumber) {
return this.$toast('请输入身份证号')
}
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.info.idNumber)) {
return this.$toast('请输入正确的身份证账号')
}
this.$http.post(`/app/appepidemicpreventionregisterinfo/updateForAdmin`, this.info).then((res) => {
if (res.code == 0) {
this.$u.toast('保存成功')
uni.$emit('updateList')
this.getDetail()
}
}).catch((err) => {
this.$u.toast(err)
})
},
change(index) { change(index) {
this.currentTabs = index this.currentTabs = index
}, },
@@ -316,7 +341,7 @@ export default {
if(!this.form.quarantineBeginTime) { if(!this.form.quarantineBeginTime) {
return this.$u.toast('请选择隔离时间') return this.$u.toast('请选择隔离时间')
} }
if(this.form.quarantineStrategy === '') { if(this.form.quarantineStrategy === '' || this.form.quarantineStrategy === null) {
return this.$u.toast('请选择隔离策略') return this.$u.toast('请选择隔离策略')
} }
if(!this.form.controllerUserName) { if(!this.form.controllerUserName) {