|
|
@@ -64,13 +64,17 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, reactive, computed, onMounted, nextTick } from 'vue'
|
|
|
+import { ref, reactive, computed, watch, nextTick } from 'vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import { getShoesModelTemplateApi } from '@/apis/other'
|
|
|
|
|
|
// 定义组件的 props
|
|
|
interface Props {
|
|
|
modelValue: boolean
|
|
|
+ initialModels?: {
|
|
|
+ female?: any
|
|
|
+ male?: any
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const props = defineProps<Props>()
|
|
|
@@ -175,7 +179,6 @@ const handleConfirm = () => {
|
|
|
} : null
|
|
|
}
|
|
|
|
|
|
- console.log('选中的模特:', selectedModels)
|
|
|
|
|
|
// 通过事件将数据发送给父组件
|
|
|
emit('confirm', selectedModels)
|
|
|
@@ -197,7 +200,6 @@ const handleClose = () => {
|
|
|
const fetchModelList = async () => {
|
|
|
try {
|
|
|
const response = await getShoesModelTemplateApi({ status: 2 })
|
|
|
- console.log(response)
|
|
|
if (response && response.data) {
|
|
|
// 根据性别分类模特
|
|
|
femaleModels.value = response.data.filter((model: ModelData) => model.keywords === '女性')
|
|
|
@@ -210,7 +212,6 @@ const fetchModelList = async () => {
|
|
|
}, 100)
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.error('获取模特列表失败:', error)
|
|
|
ElMessage.error('获取模特列表失败')
|
|
|
}
|
|
|
}
|
|
|
@@ -225,11 +226,24 @@ const preloadImages = (models: ModelData[]) => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-// 组件挂载时的初始化
|
|
|
-onMounted(() => {
|
|
|
- console.log('模特生成页面已加载')
|
|
|
- fetchModelList()
|
|
|
-})
|
|
|
+// 监听弹窗显示状态变化,初始化模特数据
|
|
|
+watch(dialogVisible, (newValue) => {
|
|
|
+ if (newValue) {
|
|
|
+ fetchModelList()
|
|
|
+
|
|
|
+ // 初始化时接收父组件传递的模特数据
|
|
|
+ if (props.initialModels) {
|
|
|
+
|
|
|
+ if (props.initialModels.female) {
|
|
|
+ selectedFemaleModel.value = props.initialModels.female
|
|
|
+ }
|
|
|
+
|
|
|
+ if (props.initialModels.male) {
|
|
|
+ selectedMaleModel.value = props.initialModels.male
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}, { immediate: true })
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|