@@ -367,12 +367,53 @@ const handleKeywordSelectionChange = (val: any) => {
const keyVisible = ref(false)
const keyEditType = ref('')
-const keyWord = ref([null])
+const keyWord = ref('')
-const editKeyword = (key) => {
+
+const editKeyword = (key: string) => {
keyEditType.value = key
- keyVisible.value = true
+
+ if (key === 'create') {
+ keyWord.value = ''
+ keyVisible.value = true
+ } else if (key === 'update') {
+ if (multipleKeywordSelection.value.length === 0) {
+ ElMessage.warning('请先选择一个要编辑的关键字')
+ return
+ }
+ keyWord.value = multipleKeywordSelection.value[0].keyword
+ keyVisible.value = true
+ } else if (key === 'delete') {
+ if (multipleKeywordSelection.value.length === 0) {
+ ElMessage.warning('请先选择要删除的关键字')
+ return
+ }
+ keywordList.value = keywordList.value.filter(
+ item => !multipleKeywordSelection.value.includes(item)
+ )
+ ElMessage.success('已删除选中项')
+ } else if (key === 'deleteall') {
+ keywordList.value = []
+ ElMessage.success('已清空关键字列表')
+ }
+ updateKeywordsToForm()
}
+const updateKeywordsToForm = () => {
+ const keywordStr = keywordList.value
+ .map(item => item.keyword)
+ .filter(k => k && k.trim() !== '')
+ .join(',')
+ formData.value.keywords = keywordStr
+
+ console.log(formData.value.keywords+"formData.value.keywords")
+}
+
+
+function setKao() {
+ kaoDialogVisible.value = true
+}
+
+
const keyDialogClose = () => {
keyVisible.value = false
}
@@ -381,8 +422,19 @@ const confirmKeyDialogVisible = () => {
keywordList.value.push({
keyword: keyWord.value
})
+ } else if (keyEditType.value === 'update') {
+ multipleKeywordSelection.value.forEach(item => {
+ item.keyword = keyWord.value
+ })
+ } else if (keyEditType.value === 'delete') {
+ keywordList.value = keywordList.value.filter(
+ item => !multipleKeywordSelection.value.includes(item)
+ )
+ } else if (keyEditType.value === 'deleteall') {
+ keywordList.value = []
}
+ updateKeywordsToForm()
keyVisible.value = false
}
diff --git a/src/views/paper/question/EmailForm.vue b/src/views/paper/question/EmailForm.vue
index 28cf9d7..e1ef8f6 100644
--- a/src/views/paper/question/EmailForm.vue
+++ b/src/views/paper/question/EmailForm.vue
@@ -109,6 +109,57 @@