|
@ -33,7 +33,7 @@ |
|
|
@select="handleSelectArticle" clearable/> |
|
|
@select="handleSelectArticle" clearable/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="关联直播"> |
|
|
<el-form-item label="关联直播"> |
|
|
<el-select v-model="form.LiveId" placeholder="请选择" style="width: 100%" clearable> |
|
|
|
|
|
|
|
|
<el-select v-model="form.LiveId" placeholder="请选择" style="width: 100%" clearable @change="handleLiveChange"> |
|
|
<el-option v-for="item in live" :key="item.id" :label="item.name" :value="item.id"/> |
|
|
<el-option v-for="item in live" :key="item.id" :label="item.name" :value="item.id"/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -184,7 +184,7 @@ onMounted(async () => { |
|
|
if (homeworkData.value.article && homeworkData.value.article.title) { |
|
|
if (homeworkData.value.article && homeworkData.value.article.title) { |
|
|
articleTitle.value = homeworkData.value.article.title; |
|
|
articleTitle.value = homeworkData.value.article.title; |
|
|
} else if (homeworkData.value.live && homeworkData.value.live.name) { |
|
|
} else if (homeworkData.value.live && homeworkData.value.live.name) { |
|
|
form.value.LiveId = homeworkData.value.live.name; |
|
|
|
|
|
|
|
|
form.value.LiveId = homeworkData.value.live.id; |
|
|
} |
|
|
} |
|
|
form.value.ClubType = homeworkData.value.clubType; |
|
|
form.value.ClubType = homeworkData.value.clubType; |
|
|
const processFormData = () => { |
|
|
const processFormData = () => { |
|
@ -261,6 +261,12 @@ const back = () => { |
|
|
const articleSearchResults = ref([]); |
|
|
const articleSearchResults = ref([]); |
|
|
// 根据文章输入内容查询关联文章的函数 |
|
|
// 根据文章输入内容查询关联文章的函数 |
|
|
const queryArticleList = async (queryString: string) => { |
|
|
const queryArticleList = async (queryString: string) => { |
|
|
|
|
|
if (form.value.LiveId) { |
|
|
|
|
|
ElMessage.warning('您已关联直播,暂无法关联文章'); |
|
|
|
|
|
articleTitle.value = ''; // 清空文章标题输入框 |
|
|
|
|
|
form.value.LiveId = ''; |
|
|
|
|
|
return []; |
|
|
|
|
|
} |
|
|
try { |
|
|
try { |
|
|
const response = await AddWorkApi.getArticleList(queryString); |
|
|
const response = await AddWorkApi.getArticleList(queryString); |
|
|
const formattedResults = response.data.map(article => ({ |
|
|
const formattedResults = response.data.map(article => ({ |
|
@ -274,6 +280,14 @@ const queryArticleList = async (queryString: string) => { |
|
|
return []; |
|
|
return []; |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
const handleLiveChange = () => { |
|
|
|
|
|
if (form.value.ArticleId) { |
|
|
|
|
|
ElMessage.warning('您已关联文章,暂无法关联直播'); |
|
|
|
|
|
form.value.LiveId = ''; // 清空关联直播选择框的值 |
|
|
|
|
|
form.value.ArticleId = ''; |
|
|
|
|
|
articleTitle.value = ''; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
// 处理选择文章的函数 |
|
|
// 处理选择文章的函数 |
|
|
const handleSelectArticle = (article: { label: string }) => { |
|
|
const handleSelectArticle = (article: { label: string }) => { |
|
|
// 这里可以根据业务需求,比如将选中的文章id(article.label)传递给其他地方使用等 |
|
|
// 这里可以根据业务需求,比如将选中的文章id(article.label)传递给其他地方使用等 |
|
@ -338,17 +352,16 @@ const addBlank = () => { |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const addOption = (questionIndex) => { |
|
|
const addOption = (questionIndex) => { |
|
|
const currentQuestion = questions.value[questionIndex]; |
|
|
|
|
|
const currentContent = JSON.parse(currentQuestion.content); |
|
|
|
|
|
currentContent.push({ "id": "", "text": "" }); |
|
|
|
|
|
currentQuestion.content = JSON.stringify(currentContent); |
|
|
|
|
|
|
|
|
const currentQuestion = questions.value[questionIndex]; |
|
|
|
|
|
// 如果当前题目没有content属性,则初始化一个空数组 |
|
|
|
|
|
if (!currentQuestion.content) { |
|
|
|
|
|
currentQuestion.content = []; |
|
|
|
|
|
} |
|
|
|
|
|
currentQuestion.content.push({ id: "", text: "" }); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const removeOption = (questionIndex, optionIndex) => { |
|
|
const removeOption = (questionIndex, optionIndex) => { |
|
|
const currentQuestion = questions.value[questionIndex]; |
|
|
|
|
|
const currentContent = JSON.parse(currentQuestion.content); |
|
|
|
|
|
currentContent.splice(optionIndex, 1); |
|
|
|
|
|
currentQuestion.content = JSON.stringify(currentContent); |
|
|
|
|
|
|
|
|
const currentQuestion = questions.value[questionIndex]; |
|
|
|
|
|
currentQuestion.content.splice(optionIndex, 1); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const removeQuestion = (questionIndex) => { |
|
|
const removeQuestion = (questionIndex) => { |
|
|