diff --git a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
index af22a1c..ec61b54 100644
--- a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
@@ -16,6 +16,7 @@ import {
Tooltip,
Upload,
Switch,
+ Select,
} from 'ant-design-vue';
const { TextArea } = Input;
import AuthorizedAccountModal from '../authorized-account-modal';
@@ -36,6 +37,7 @@ import {
getTemplateUrl,
batchMediaAccounts,
getProjectList,
+ postAccountTags,
} from '@/api/all/propertyMarketing';
import icon1 from '@/assets/img/media-account/icon-download.png';
@@ -268,6 +270,35 @@ export default {
>
);
};
+ const handleTagChange = (value) => {
+ form.value.tag_ids = value;
+ };
+ const handleTagInputPressEnter = async (e) => {
+ const inputValue = e.target.value.trim();
+
+ if (!inputValue) return;
+ const _target = tagOptions.value.find((item) => item.name === inputValue);
+ if (_target) {
+ return;
+ }
+
+ try {
+ const { code, data } = await postAccountTags({ name: inputValue });
+
+ if (code === 200 && data) {
+ tagOptions.value.push({
+ id: data.id,
+ name: data.name,
+ });
+ e.target.value = '';
+
+ form.value.tag_ids = form.value.tag_ids.filter((item) => item !== inputValue);
+ form.value.tag_ids.push(data.id);
+ }
+ } catch (error) {
+ message.error('添加标签失败');
+ }
+ };
expose({ open });
@@ -394,11 +425,28 @@ export default {
- {
+ // 检测回车键
+ if (e.key === 'Enter') {
+ e.preventDefault();
+ handleTagInputPressEnter(e);
+ }
+ }}
/>