|
|
@@ -163,9 +163,19 @@ const historyOrders = ref([])
|
|
|
const detailActiveTab = ref('info')
|
|
|
const remarkDialogVisible = ref(false)
|
|
|
const remarkContent = ref('')
|
|
|
+const internalServiceList = ref([])
|
|
|
|
|
|
-// 直接使用父组件传入的服务列表数据
|
|
|
-const serviceOptions = computed(() => props.serviceList || [])
|
|
|
+// 优先使用父组件传入的服务列表数据,若无则使用内部加载的数据
|
|
|
+const serviceOptions = computed(() => (props.serviceList && props.serviceList.length > 0) ? props.serviceList : internalServiceList.value)
|
|
|
+
|
|
|
+const getServiceList = () => {
|
|
|
+ if (props.serviceList && props.serviceList.length > 0) return;
|
|
|
+ import('@/api/service/list/index').then(api => {
|
|
|
+ api.listAllService().then((res) => {
|
|
|
+ internalServiceList.value = res.data || [];
|
|
|
+ });
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
const getServiceName = (serviceId) => {
|
|
|
const item = serviceOptions.value.find((i) => i.id === serviceId)
|
|
|
@@ -199,6 +209,8 @@ const loadData = async (id) => {
|
|
|
listSubOrderOnPet(id).then((res) => {
|
|
|
historyOrders.value = res.data || []
|
|
|
})
|
|
|
+
|
|
|
+ getServiceList()
|
|
|
}
|
|
|
|
|
|
const handleRemark = () => {
|
|
|
@@ -228,7 +240,9 @@ watch(() => props.visible, (val) => {
|
|
|
})
|
|
|
|
|
|
onMounted(() => {
|
|
|
- // 服务列表数据由父组件传入,无需在这里请求
|
|
|
+ if (props.visible && props.petId) {
|
|
|
+ getServiceList()
|
|
|
+ }
|
|
|
})
|
|
|
</script>
|
|
|
|