208 lines
5.5 KiB
Vue
208 lines
5.5 KiB
Vue
<template>
|
||
<view class="app">
|
||
<view class="" style="background-color: #F4F5F7;height: 20rpx;width:100%">
|
||
</view>
|
||
<view class="userinfo info">
|
||
<view class="item">
|
||
<span>姓名:</span>
|
||
<u-input v-model="query.patientName" type="text" placeholder='' maxlength='5' />
|
||
</view>
|
||
<view class="item">
|
||
<span>电话:</span>
|
||
<u-input v-model="query.phone" maxlength='11' type="text" placeholder='' />
|
||
</view>
|
||
<view class="item">
|
||
<span>身份证号:</span>
|
||
<u-input v-model="query.cardNo" type="text" placeholder='' maxlength='18' />
|
||
</view>
|
||
<view class="item" @tap='areashow=true'>
|
||
<span>所属区域:</span>
|
||
<view>{{address}}</view>
|
||
</view>
|
||
<view class="item">
|
||
<span>详细地址:</span>
|
||
<u-input v-model="query.address" type="text" placeholder='' />
|
||
</view>
|
||
<view class="item" @tap='getAddress()'>
|
||
<span>所在位置:</span>
|
||
<view>{{chooseLocation}}</view>
|
||
<!-- <u-input type="text" placeholder='' /> -->
|
||
</view>
|
||
</view>
|
||
<u-select v-model="areashow" mode="mutil-column-auto" label-name='areaName' value-name='areaCode'
|
||
:list="arealist" @confirm="areaconfirm"></u-select>
|
||
<view class="info">
|
||
<view class="service">
|
||
<view class="title">
|
||
所属服务
|
||
</view>
|
||
<view class="Multiplechoice">
|
||
<view :class="query.nurseTypeIdList.find(e => e == item.id)?'choices':'choice'"
|
||
v-for="(item,index) in getNurseTypelist" :key="item.id" @tap="addnurseType(item)">
|
||
{{item.nurseTypeName}}
|
||
</view>
|
||
<view @tap="godisease(item)"
|
||
:class="query.nurseTypeIdList.find(e => e == item.id)?'choices':'choice'"
|
||
v-for="(item,index) in medicalcarelist" :key="item.id">
|
||
{{item.nurseTypeName}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<u-button type="primary" style='width:30%;float: right;margin-top: 50rpx;' @tap='informationinfo'>提交
|
||
</u-button>
|
||
</view>
|
||
<u-toast ref="uToast" />
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
getRegionAndStreetInfo,
|
||
getNurseType,
|
||
information
|
||
} from '@/api/information/index.js'
|
||
export default {
|
||
data() {
|
||
return {
|
||
arealist: [], //区街道list
|
||
areashow: false, //经纬度开关
|
||
getNurseTypelist: [], //护理类型数组
|
||
medicalcarelist: [], //医疗护理数组
|
||
address: '', //页面所属区域
|
||
chooseLocation: '',
|
||
query: { //信息请求数组
|
||
patientName: "",
|
||
cardNo: "",
|
||
phone: "",
|
||
address: "",
|
||
areaCode: "",
|
||
nurseTypeIdList: [],
|
||
diseaseInfoList: [],
|
||
patientId: '',
|
||
}
|
||
};
|
||
},
|
||
methods: {
|
||
//提交信息
|
||
informationinfo() {
|
||
information(this.query).then(res => {
|
||
if (res.code == 200) {
|
||
this.$refs.uToast.show({
|
||
title: '完善信息成功',
|
||
type: 'success',
|
||
url: '',
|
||
duration: '1500'
|
||
})
|
||
SetTimeout(() => {
|
||
uni.navigateBack({
|
||
delta: 1, //返回层数,2则上上页
|
||
})
|
||
}, 1500);
|
||
} else if (res.code == 500) {
|
||
this.$refs.uToast.show({
|
||
title: res.msg,
|
||
type: 'error',
|
||
url: ''
|
||
})
|
||
}
|
||
})
|
||
},
|
||
//获取所在位置
|
||
getAddress() {
|
||
var that = this;
|
||
uni.chooseLocation({
|
||
success: function(res) {
|
||
that.chooseLocation = '东经:' + res.longitude + ' 北纬:' + res.latitude;
|
||
console.log(that.chooseLocation)
|
||
}
|
||
});
|
||
},
|
||
//护理类型请求
|
||
getNurseTypeInfo() {
|
||
getNurseType().then(res => {
|
||
this.medicalcarelist = res.data.filter(e => e.nurseTypeName == '医疗护理')
|
||
this.getNurseTypelist = res.data.filter(e => e.nurseTypeName != '医疗护理')
|
||
})
|
||
},
|
||
//区街道
|
||
areaInfo() {
|
||
getRegionAndStreetInfo().then(res => {
|
||
//区下无街道添加一个空街道
|
||
res.data.forEach(e => {
|
||
if (e.children.length == 0) {
|
||
e.children.push({
|
||
areaCode: "",
|
||
areaName: "暂无街道",
|
||
children: null,
|
||
id: '',
|
||
})
|
||
}
|
||
})
|
||
this.arealist = res.data;
|
||
})
|
||
},
|
||
//区街道选择
|
||
areaconfirm(e) {
|
||
this.query.areaCode = e[e.length - 1].value
|
||
this.address = e[0].label + '-' + e[1].label
|
||
},
|
||
//点击所需服务
|
||
addnurseType(item) {
|
||
if (this.query.nurseTypeIdList.findIndex(e => e == item.id) == -1) {
|
||
this.query.nurseTypeIdList.push(item.id)
|
||
} else {
|
||
this.query.nurseTypeIdList = this.query.nurseTypeIdList.filter(e => e != item.id)
|
||
}
|
||
},
|
||
godisease(item) {
|
||
uni.navigateTo({
|
||
url: `/pages/disease/disease?diseaseInfoList=${JSON.stringify(this.query.diseaseInfoList)}`
|
||
})
|
||
},
|
||
},
|
||
//进入界面加载
|
||
onLoad() {
|
||
let that = this
|
||
try {
|
||
const value = uni.getStorageSync('patientId');
|
||
if (value) {
|
||
that.query.patientId = value
|
||
}
|
||
} catch (e) {
|
||
// error
|
||
}
|
||
|
||
// uni.getStorage({
|
||
// key: 'patientId',
|
||
// success: function(res) {
|
||
// that.query.patientId = res.data
|
||
// }
|
||
// });
|
||
this.areaInfo()
|
||
this.getNurseTypeInfo();
|
||
},
|
||
//带参返回
|
||
onShow() {
|
||
let that = this
|
||
uni.$on('disease', function(data) {
|
||
that.query.diseaseInfoList = JSON.parse(data.disease)
|
||
if (that.query.diseaseInfoList.length > 0) {
|
||
that.medicalcarelist.forEach(e => {
|
||
if (that.query.nurseTypeIdList.findIndex(el => el == e.id) == -1) {
|
||
that.query.nurseTypeIdList.push(e.id)
|
||
} else {}
|
||
})
|
||
} else {
|
||
console.log(that.query.nurseTypeIdList)
|
||
that.medicalcarelist.forEach(e => {
|
||
that.query.nurseTypeIdList = that.query.nurseTypeIdList.filter(el => el != e.id)
|
||
})
|
||
}
|
||
})
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="scss">
|
||
@import './information.scss';
|
||
</style>
|