|
@ -1,69 +1,54 @@ |
|
|
<template> |
|
|
<template> |
|
|
<view > |
|
|
|
|
|
<view class="personal-pet-health-info"> |
|
|
|
|
|
<view class="personal-pet-info-title border-bottom"> |
|
|
|
|
|
宠物健康情况 |
|
|
|
|
|
</view> |
|
|
|
|
|
<u--form labelPosition="left" :model="petHealthInfo" ref="uForm"> |
|
|
|
|
|
<u-form-item required label="疫苗" :prop="`petHealthInfo.vaccineStatus`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showVaccine = true"> |
|
|
|
|
|
<u--input v-model="petHealthInfo.vaccineStatus" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item required label="驱虫" :prop="`petHealthInfo.dewormingStatus`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showExpelling = true"> |
|
|
|
|
|
<u--input v-model="petHealthInfo.dewormingStatus" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item label="绝育" :prop="`petHealthInfo.sterilization`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showSterilization = true" ref="item1"> |
|
|
|
|
|
<u--input v-model="petHealthInfo.sterilization" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item v-if="petType === 'dog' || petType === '狗狗' " label="狗证" :prop="`petHealthInfo.doglicenseStatus`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showDog = true" ref="item1"> |
|
|
|
|
|
<u--input v-model="petHealthInfo.doglicenseStatus" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<view class="dog-tips" v-if="petType === 'dog' || petType === '狗狗'"> |
|
|
|
|
|
<image class="icon" :src="configList.pet_dog_license.paramValueImage"></image> |
|
|
|
|
|
<view> |
|
|
|
|
|
<up-parse :content="configList.pet_dog_license.paramValueArea" containerStyle="{ |
|
|
|
|
|
color: '#A94F20', |
|
|
|
|
|
fontSize: '12px', |
|
|
|
|
|
}"></up-parse> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<u-form-item required label="健康" :prop="`petHealthInfo.healths`" labelWidth="80" |
|
|
|
|
|
@click="healthsSelect"> |
|
|
|
|
|
<u--input disabled disabledColor="#ffffff" placeholder="请选择(多选)" :value="petHealthInfo.healthStatus && petHealthInfo.healthStatus.join(',')" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<view slot="right"> |
|
|
|
|
|
<u-icon v-if="showHealths" name="arrow-down" color="#AAA"></u-icon> |
|
|
|
|
|
<u-icon v-else name="arrow-right" color="#AAA" ></u-icon> |
|
|
|
|
|
</view> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
</u--form> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="health-select" v-show="showHealths"> |
|
|
|
|
|
<view style="padding: 10px;height: 85%;"> |
|
|
|
|
|
<u-checkbox-group v-model="petHealthInfo.healthStatus" @change="checkboxChange" placement="column" activeColor="#ffbf60"> |
|
|
|
|
|
<u-checkbox :customStyle="{marginBottom: '8px'}" v-for="(item, index) in healthData" |
|
|
|
|
|
:key="index" :label="item" :name="item"> |
|
|
|
|
|
</u-checkbox> |
|
|
|
|
|
</u-checkbox-group> |
|
|
|
|
|
<u--input placeholder="请输入其他健康特征" |
|
|
|
|
|
:disabled="!(petHealthInfo.healthStatus && petHealthInfo.healthStatus.includes('其他'))" |
|
|
|
|
|
border="surround" maxlength='20' |
|
|
|
|
|
:customStyle="{backgroundColor: '#fff'}" |
|
|
|
|
|
@change="updatePetHealthInfo()" |
|
|
|
|
|
v-model="petHealthInfo.remark"></u--input> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
<view> |
|
|
|
|
|
<view class="personal-pet-health-info"> |
|
|
|
|
|
<view class="personal-pet-info-title border-bottom"> |
|
|
|
|
|
宠物健康情况 |
|
|
|
|
|
</view> |
|
|
|
|
|
<u--form labelPosition="left" :model="petHealthInfo" ref="uForm"> |
|
|
|
|
|
<u-form-item required label="疫苗" :prop="`petHealthInfo.vaccine`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showVaccine = true"> |
|
|
|
|
|
<u--input v-model="vaccineText" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item required label="驱虫" :prop="`petHealthInfo.deworm`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showExpelling = true"> |
|
|
|
|
|
<u--input v-model="dewormText" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item label="绝育" :prop="`petHealthInfo.neutered`" labelWidth="80" borderBottom |
|
|
|
|
|
@click="showSterilization = true" ref="item1"> |
|
|
|
|
|
<u--input v-model="neuteredText" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<u-form-item v-if="petType === '1' || petType === '狗狗' " label="狗证" :prop="`petHealthInfo.petCard`" |
|
|
|
|
|
labelWidth="80" borderBottom @click="showDog = true" ref="item1"> |
|
|
|
|
|
<u--input v-model="petCartText" disabled disabledColor="#ffffff" placeholder="请选择" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<u-icon slot="right" name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
<view class="dog-tips" v-if="petType === 'dog' || petType === '狗狗'"> |
|
|
|
|
|
<u-icon name="info-circle" color="#A94F20" size="12"></u-icon> |
|
|
|
|
|
<view style="margin-left: 3px;"> |
|
|
|
|
|
未办理养犬许可证且需要外出遛狗, 犬只存在被相关单位收缴 |
|
|
|
|
|
甚至捕杀的可能,请您遵守当地养犬规范,合法文明养犬。具体 |
|
|
|
|
|
请您查看当地养犬条例 |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<!-- 赶进度,先注释 --> |
|
|
|
|
|
<!-- <u-form-item required label="健康" :prop="`petHealthInfo.healths`" labelWidth="80" @click="healthsSelect"> --> |
|
|
|
|
|
<u-form-item required label="健康" :prop="`petHealthInfo.health`" labelWidth="80"> |
|
|
|
|
|
<u--input disabledColor="#ffffff" placeholder="请输入" v-model="petHealthInfo.health" |
|
|
|
|
|
placeholderStyle="text-align:right;color:#AAA" border="none" inputAlign="right"></u--input> |
|
|
|
|
|
<view slot="right"> |
|
|
|
|
|
<u-icon v-if="showHealths" name="arrow-down" color="#AAA"></u-icon> |
|
|
|
|
|
<u-icon v-else name="arrow-right" color="#AAA"></u-icon> |
|
|
|
|
|
</view> |
|
|
|
|
|
</u-form-item> |
|
|
|
|
|
</u--form> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 赶进度,先注释 --> |
|
|
<!-- 赶进度,先注释 --> |
|
|
<!-- <view class="health-select" v-show="showHealths"> |
|
|
<!-- <view class="health-select" v-show="showHealths"> |
|
@ -82,30 +67,23 @@ |
|
|
</view> --> |
|
|
</view> --> |
|
|
|
|
|
|
|
|
<u-picker :show="showVaccine" :showToolbar='false' :columns="vaccineActions" @cancel="showVaccine = false" |
|
|
<u-picker :show="showVaccine" :showToolbar='false' :columns="vaccineActions" @cancel="showVaccine = false" |
|
|
:immediateChange="true" :defaultIndex="defaultVaccine" @change="vaccineSelect"></u-picker> |
|
|
|
|
|
|
|
|
:immediateChange="true" @change="vaccineSelect"></u-picker> |
|
|
<u-picker :show="showExpelling" :showToolbar='false' :columns="expellingActions" @cancel="showExpelling = false" |
|
|
<u-picker :show="showExpelling" :showToolbar='false' :columns="expellingActions" @cancel="showExpelling = false" |
|
|
:immediateChange="true" :defaultIndex="defaultDeworming" @change="expellingSelect"></u-picker> |
|
|
|
|
|
|
|
|
:immediateChange="true" @change="expellingSelect"></u-picker> |
|
|
<u-picker :show="showSterilization" :showToolbar='false' :columns="sterilizationActions" |
|
|
<u-picker :show="showSterilization" :showToolbar='false' :columns="sterilizationActions" |
|
|
@cancel="showSterilization = false" :immediateChange="true" :defaultIndex="defaultSterilization" |
|
|
|
|
|
@change="sterilizationSelect"></u-picker> |
|
|
|
|
|
|
|
|
@cancel="showSterilization = false" :immediateChange="true" @change="sterilizationSelect"></u-picker> |
|
|
<u-picker :show="showDog" :showToolbar='false' :columns="dogActions" @cancel="showDog = false" |
|
|
<u-picker :show="showDog" :showToolbar='false' :columns="dogActions" @cancel="showDog = false" |
|
|
:immediateChange="true" :defaultIndex="defaultDoglicense" @change="dogSelect"></u-picker> |
|
|
|
|
|
|
|
|
:immediateChange="true" @change="dogSelect"></u-picker> |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script setup> |
|
|
<script setup> |
|
|
import { |
|
|
import { |
|
|
ref, |
|
|
ref, |
|
|
computed, |
|
|
|
|
|
onMounted, |
|
|
onMounted, |
|
|
|
|
|
watch, |
|
|
|
|
|
computed |
|
|
} from 'vue'; |
|
|
} from 'vue'; |
|
|
import { useStore } from 'vuex' |
|
|
|
|
|
|
|
|
|
|
|
const store = useStore() |
|
|
|
|
|
|
|
|
|
|
|
const configList = computed(() => { |
|
|
|
|
|
return store.getters.configList |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// 定义 props |
|
|
// 定义 props |
|
|
const props = defineProps({ |
|
|
const props = defineProps({ |
|
@ -119,26 +97,10 @@ |
|
|
vaccine: '', |
|
|
vaccine: '', |
|
|
deworm: '', |
|
|
deworm: '', |
|
|
neutered: '', |
|
|
neutered: '', |
|
|
doglicenseStatus: '', |
|
|
|
|
|
|
|
|
petCard: '', |
|
|
health: [], |
|
|
health: [], |
|
|
remark: '' |
|
|
remark: '' |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
|
|
|
defaultVaccine: { |
|
|
|
|
|
type: Number, |
|
|
|
|
|
default: 0 |
|
|
|
|
|
}, |
|
|
|
|
|
defaultDeworming: { |
|
|
|
|
|
type: Number, |
|
|
|
|
|
default: 0 |
|
|
|
|
|
}, |
|
|
|
|
|
defaultSterilization: { |
|
|
|
|
|
type: Number, |
|
|
|
|
|
default: 0 |
|
|
|
|
|
}, |
|
|
|
|
|
defaultDoglicense: { |
|
|
|
|
|
type: Number, |
|
|
|
|
|
default: 0 |
|
|
|
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
@ -168,6 +130,37 @@ |
|
|
const uForm = ref(null); |
|
|
const uForm = ref(null); |
|
|
const item1 = ref(null); |
|
|
const item1 = ref(null); |
|
|
|
|
|
|
|
|
|
|
|
const vaccineText = computed(() => { |
|
|
|
|
|
const vaccineMap = { |
|
|
|
|
|
0: '每年都免疫', |
|
|
|
|
|
1: '有免疫史', |
|
|
|
|
|
2: '未免疫' |
|
|
|
|
|
}; |
|
|
|
|
|
return vaccineMap[props.petHealthInfo.vaccine] || '' |
|
|
|
|
|
}); |
|
|
|
|
|
const dewormText = computed(() => { |
|
|
|
|
|
const dewormMap = { |
|
|
|
|
|
0: '未驱虫', |
|
|
|
|
|
1: '定期驱虫', |
|
|
|
|
|
2: '有驱虫史' |
|
|
|
|
|
}; |
|
|
|
|
|
return dewormMap[props.petHealthInfo.deworm] || '' |
|
|
|
|
|
}); |
|
|
|
|
|
const neuteredText = computed(() => { |
|
|
|
|
|
const neuteredMap = { |
|
|
|
|
|
0: '已绝育', |
|
|
|
|
|
1: '未绝育' |
|
|
|
|
|
}; |
|
|
|
|
|
return neuteredMap[props.petHealthInfo.neutered] || '' |
|
|
|
|
|
}); |
|
|
|
|
|
const petCartText = computed(() => { |
|
|
|
|
|
const petCartMap = { |
|
|
|
|
|
0: '是', |
|
|
|
|
|
1: '否' |
|
|
|
|
|
}; |
|
|
|
|
|
return petCartMap[props.petHealthInfo.petCard] || '' |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
// 定义方法 |
|
|
// 定义方法 |
|
|
const getHealthDataList = () => { |
|
|
const getHealthDataList = () => { |
|
|
// getDictList('pet_health_status').then(res => { |
|
|
// getDictList('pet_health_status').then(res => { |
|
@ -201,7 +194,7 @@ |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const dogSelect = (e) => { |
|
|
const dogSelect = (e) => { |
|
|
props.petHealthInfo.doglicenseStatus = e.value[0]; |
|
|
|
|
|
|
|
|
props.petHealthInfo.petCard = e.index; |
|
|
showDog.value = false; |
|
|
showDog.value = false; |
|
|
updatePetHealthInfo(); |
|
|
updatePetHealthInfo(); |
|
|
}; |
|
|
}; |
|
@ -215,7 +208,6 @@ |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const checkboxChange = (n) => { |
|
|
const checkboxChange = (n) => { |
|
|
console.log('change', n); |
|
|
|
|
|
updatePetHealthInfo(); |
|
|
updatePetHealthInfo(); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
@ -240,26 +232,22 @@ |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
<style lang="scss"> |
|
|
.personal-pet-health-info{ |
|
|
|
|
|
background-color: #fff; |
|
|
|
|
|
padding: 10px 20px 0 20px; |
|
|
|
|
|
margin-top: 10px; |
|
|
|
|
|
} |
|
|
|
|
|
.health-select{ |
|
|
|
|
|
background-color: #fffcf2; |
|
|
|
|
|
padding: 10px 20px; |
|
|
|
|
|
} |
|
|
|
|
|
.dog-tips{ |
|
|
|
|
|
color: #A94F20; |
|
|
|
|
|
font-size: 12px; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: baseline; |
|
|
|
|
|
margin-top: 5px; |
|
|
|
|
|
|
|
|
|
|
|
.icon { |
|
|
|
|
|
width: 12px; |
|
|
|
|
|
height: 12px; |
|
|
|
|
|
margin-right: 3px; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
</style> |
|
|
|
|
|
|
|
|
.personal-pet-health-info { |
|
|
|
|
|
background-color: #fff; |
|
|
|
|
|
padding: 10px 20px 0 20px; |
|
|
|
|
|
margin-top: 10px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.health-select { |
|
|
|
|
|
background-color: #fffcf2; |
|
|
|
|
|
padding: 10px 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.dog-tips { |
|
|
|
|
|
color: #A94F20; |
|
|
|
|
|
font-size: 12px; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: baseline; |
|
|
|
|
|
margin-top: 5px; |
|
|
|
|
|
} |
|
|
|
|
|
</style> |