feat: 新增svg组件,批量替换
@ -1,3 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 5.41667H2.5V3.75H17.5V5.41667ZM17.5 10.8333L9.16667 10.8333V9.16667L17.5 9.16667V10.8333ZM2.5 16.25L17.5 16.25V14.5833L2.5 14.5833V16.25ZM5.88166 7.49938C6.1589 7.31999 6.52469 7.51898 6.52469 7.8492V11.9793C6.52469 12.3095 6.1589 12.5085 5.88167 12.3291L2.69031 10.264C2.43656 10.0999 2.43656 9.7286 2.69031 9.5644L5.88166 7.49938Z" fill="#737478"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 5.41667H2.5V3.75H17.5V5.41667ZM17.5 10.8333L9.16667 10.8333V9.16667L17.5 9.16667V10.8333ZM2.5 16.25L17.5 16.25V14.5833L2.5 14.5833V16.25ZM5.88166 7.49938C6.1589 7.31999 6.52469 7.51898 6.52469 7.8492V11.9793C6.52469 12.3095 6.1589 12.5085 5.88167 12.3291L2.69031 10.264C2.43656 10.0999 2.43656 9.7286 2.69031 9.5644L5.88166 7.49938Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 514 B |
@ -1,3 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.5 5.41667H17.5V3.75H2.5V5.41667ZM9.16667 10.8333L17.5 10.8333V9.16667L9.16667 9.16667V10.8333ZM17.5 16.25L2.5 16.25V14.5833L17.5 14.5833V16.25ZM2.5 7.93499C2.5 7.60478 2.86579 7.40578 3.14302 7.58517L6.33438 9.6502C6.58813 9.81439 6.58812 10.1856 6.33438 10.3498L3.14302 12.4149C2.86579 12.5943 2.5 12.3953 2.5 12.065V7.93499Z" fill="#737478"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.5 5.41667H17.5V3.75H2.5V5.41667ZM9.16667 10.8333L17.5 10.8333V9.16667L9.16667 9.16667V10.8333ZM17.5 16.25L2.5 16.25V14.5833L17.5 14.5833V16.25ZM2.5 7.93499C2.5 7.60478 2.86579 7.40578 3.14302 7.58517L6.33438 9.6502C6.58813 9.81439 6.58812 10.1856 6.33438 10.3498L3.14302 12.4149C2.86579 12.5943 2.5 12.3953 2.5 12.065V7.93499Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 505 B |
3
src/assets/svg/xt-menu.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.5 6H2.5V4H21.5V6ZM21.5 13H2.5V11H21.5V13ZM21.5 20H2.5V18H21.5V20Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 246 B |
3
src/assets/svg/xt-oblique-line.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.29297 20.4489L13.7994 2.95081L15.7071 3.55115L10.2007 21.0492L8.29297 20.4489Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 258 B |
3
src/assets/svg/xt-plus.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 11V2.5H13V11H21.5V13H13V21.5H11V13H2.5V11H11Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 226 B |
3
src/assets/svg/xt-question-circle.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12ZM12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM10.3 9.9893V9.75871C10.3012 9.48436 10.3993 9.18002 10.6183 8.95121C10.8204 8.73989 11.2145 8.5 11.9943 8.5C12.7265 8.5 13.2356 8.84959 13.4953 9.24648C13.7726 9.67032 13.718 10.026 13.5864 10.2036C13.4222 10.4252 13.2184 10.6299 12.9721 10.8516C12.8972 10.9191 12.8048 10.9994 12.7058 11.0856L12.7058 11.0856C12.5287 11.2397 12.3303 11.4124 12.1721 11.5629C11.6103 12.0974 11.0002 12.8434 11.0002 14L11.0034 14.5064L13.0034 14.4936L13.0002 13.9973C13.001 13.6552 13.1412 13.4015 13.5507 13.0118C13.6884 12.8808 13.8122 12.7737 13.9538 12.6512L13.9539 12.6512C14.0586 12.5605 14.1731 12.4615 14.3102 12.338C14.5954 12.0813 14.9128 11.7731 15.1935 11.3941C15.9516 10.3706 15.7743 9.07681 15.1689 8.15152C14.5459 7.19927 13.4124 6.5 11.9943 6.5C10.767 6.5 9.81556 6.89715 9.17316 7.56856C8.54785 8.22211 8.30229 9.04557 8.30001 9.75365V9.9893H10.3ZM11.0034 15.5V17.5039H13.0034V15.5H11.0034Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
3
src/assets/svg/xt-refresh.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 3.33333C5.42267 3.33333 3.33333 5.42267 3.33333 8C3.33333 10.5773 5.42267 12.6667 8 12.6667C10.1736 12.6667 12.0016 11.1801 12.5197 9.16716L13.8109 9.49951C13.1449 12.0872 10.7967 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C9.88554 2 11.5671 2.86964 12.6667 4.22866V2.66667H14V6.66667H10V5.33333H11.8304C10.9867 4.12378 9.58512 3.33333 8 3.33333Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 539 B |
3
src/assets/svg/xt-right.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.70709 20.4634L7.29288 19.0492L14.3639 11.9782L7.29288 4.90709L8.70709 3.49288L16.4852 11.271C16.4852 11.271 16.4853 11.2711 15.7782 11.9782L16.4852 11.271L17.1924 11.9782L8.70709 20.4634Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 367 B |
3
src/assets/svg/xt-search.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.8283 5.92898C13.0946 3.19531 8.66245 3.19531 5.92878 5.92898C3.19511 8.66265 3.19511 13.0948 5.92878 15.8285C8.66245 18.5621 13.0946 18.5621 15.8283 15.8285C18.5619 13.0948 18.5619 8.66265 15.8283 5.92898ZM4.51456 4.51476C8.02928 1.00004 13.7278 1.00004 17.2425 4.51476C20.5182 7.79047 20.741 12.963 17.9108 16.4967L21.4851 20.0711L20.0709 21.4853L16.4965 17.9109C12.9628 20.7411 7.79027 20.5184 4.51456 17.2427C0.999845 13.728 0.999845 8.02948 4.51456 4.51476Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 642 B |
3
src/assets/svg/xt-sync.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.69816 6.69532C7.81664 5.57685 9.19776 4.88664 10.6424 4.62199L10.282 2.65472C8.45093 2.99017 6.69852 3.86654 5.28395 5.28111C1.57397 8.99109 1.57397 15.0062 5.28395 18.7161L3.57684 20.4232H8.40527V15.5948L6.69816 17.3019C3.76923 14.373 3.76923 9.62425 6.69816 6.69532ZM20.4243 3.57577H15.5959V8.4042L17.303 6.69709C20.2319 9.62603 20.2319 14.3748 17.303 17.3037C16.1845 18.4222 14.8034 19.1124 13.3587 19.377L13.7191 21.3443C15.5502 21.0088 17.3026 20.1325 18.7172 18.7179C22.4272 15.0079 22.4272 8.99286 18.7172 5.28288L20.4243 3.57577Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 717 B |
3
src/assets/svg/xt-up.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.5071 14.5711L19.0929 15.9853L12.0218 8.91425L4.95076 15.9853L3.53655 14.5711L11.3147 6.79299C11.3147 6.79295 11.3147 6.79293 12.0218 7.50004L11.3147 6.79299L12.0218 6.08582L20.5071 14.5711Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 370 B |
@ -54,10 +54,10 @@
|
||||
:class="isRequiredColumn(item) ? '!display-none' : ''"
|
||||
>
|
||||
<div class="flex items-center">
|
||||
<icon-menu size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-menu" size="16" class="color-#55585f mr-8px"/>
|
||||
<span>{{ getCheckColumnLabel(item) }}</span>
|
||||
</div>
|
||||
<icon-close size="16" class="color-#737478 cursor-pointer" @click="removeCheckedField(item)" />
|
||||
<SvgIcon name="xt-close" size="16" class="color-#737478 cursor-pointer" @click="removeCheckedField(item)"/>
|
||||
</div>
|
||||
</VueDraggable>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<script lang="tsx">
|
||||
import { ref, defineComponent, onMounted, nextTick, watch, h } from 'vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
export interface ExpandableTagsProps {
|
||||
// 标签数据数组
|
||||
@ -190,7 +191,7 @@ export default defineComponent({
|
||||
}}
|
||||
>
|
||||
<span class="cts mr-2px color-#6D4CFE expand-text">{isExpand.value ? '收起' : '更多'}</span>
|
||||
<icon-down size={12} class="color-#6D4CFE icon" />
|
||||
<SvgIcon name="xt-down" size={12} class="color-#6D4CFE icon" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"
|
||||
>
|
||||
{{ isShow ? '收起' : '展开' }}
|
||||
<icon-up size="16" :class="{ active: isShow }" class="ml-2px color-#8C8C8C" />
|
||||
<SvgIcon name="xt-up" size="16" :class="{ active: isShow }" class="ml-2px color-#8C8C8C" />
|
||||
</div>
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<script lang="tsx">
|
||||
import { Button } from 'ant-design-vue';
|
||||
import { Bubble } from '@/components/xt-chat/xt-bubble';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import Http from '@/api';
|
||||
import { downloadByUrl } from '@/utils/tools';
|
||||
@ -82,7 +83,7 @@ export default {
|
||||
type="primary"
|
||||
ghost
|
||||
class="mr-16px"
|
||||
v-slots={{ icon: () => <icon-plus size="14" /> }}
|
||||
v-slots={{ icon: () => <SvgIcon name="xt-plus" size="14" /> }}
|
||||
onClick={onAddMediaCenter}
|
||||
>
|
||||
素材中心
|
||||
@ -93,7 +94,7 @@ export default {
|
||||
type="primary"
|
||||
ghost
|
||||
class="mr-16px"
|
||||
v-slots={{ icon: () => <icon-plus size="14" /> }}
|
||||
v-slots={{ icon: () => <SvgIcon name="xt-plus" size="14" /> }}
|
||||
onClick={onAddTaskManage}
|
||||
>
|
||||
任务管理
|
||||
@ -102,13 +103,13 @@ export default {
|
||||
type="outline"
|
||||
size="medium"
|
||||
class="mr-16px"
|
||||
v-slots={{ icon: () => <icon-download size="14" /> }}
|
||||
v-slots={{ icon: () => <SvgIcon name="xt-download" size="14" /> }}
|
||||
onClick={onDownload}
|
||||
>
|
||||
下载
|
||||
</Button>*/}
|
||||
<div class="line mr-24px w-1px h-16px bg-#B1B2B5"></div>
|
||||
<icon-close size={20} class="color-#737478 cursor-pointer" onClick={() => emit('close')} />
|
||||
<SvgIcon name="xt-close" size={20} class="color-#737478 cursor-pointer" onClick={() => emit('close')} />
|
||||
</header>
|
||||
);
|
||||
};
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import { ref } from 'vue';
|
||||
import { Sender } from 'ant-design-x-vue';
|
||||
import { Tooltip } from 'ant-design-vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
interface SenderInputProps {
|
||||
modelValue?: string;
|
||||
@ -73,7 +74,7 @@ export default {
|
||||
isEmptyValue.value ? 'opacity-50' : ''
|
||||
}`}
|
||||
>
|
||||
<icon-arrow-right size={20} class="color-#FFFFFF" />
|
||||
<SvgIcon name="xt-arrow-right" size={20} class="color-#FFFFFF" />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
@ -3,14 +3,7 @@ import { ref } from 'vue';
|
||||
import type { BubbleListProps } from '@/components/xt-chat/xt-bubble/types';
|
||||
import markdownit from 'markdown-it';
|
||||
import { message as antdMessage } from 'ant-design-vue';
|
||||
import {
|
||||
IconFile,
|
||||
IconCaretUp,
|
||||
IconDownload,
|
||||
IconCaretDown,
|
||||
IconRefresh,
|
||||
IconCopy,
|
||||
} from '@arco-design/web-vue/es/icon';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import { Tooltip } from 'ant-design-vue';
|
||||
import TextOverTips from '@/components/text-over-tips/index.vue';
|
||||
@ -111,14 +104,14 @@ export default function useChatHandler(options: UseChatHandlerOptions): UseChatH
|
||||
return (
|
||||
<div class="flex items-center">
|
||||
<Tooltip title="复制" onClick={() => onCopy(content)} align={{ offset: [0, 4] }}>
|
||||
<div class="action-box">
|
||||
<IconCopy size={16} class="color-#737478" />
|
||||
<div class="action-box flex items-center">
|
||||
<SvgIcon name="xt-copy" size="16" class="color-#737478"/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
{isLastRunTask && (
|
||||
<Tooltip title="重新生成" onClick={() => handleRemoteRefresh(item)} align={{ offset: [0, 4] }}>
|
||||
<div class="action-box ml-12px">
|
||||
<IconRefresh size={16} class="color-#737478 " />
|
||||
<div class="action-box ml-12px flex items-center">
|
||||
<SvgIcon name="xt-refresh" size="16" class="color-#737478"/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
)}
|
||||
@ -317,7 +310,7 @@ export default function useChatHandler(options: UseChatHandlerOptions): UseChatH
|
||||
<>
|
||||
{_targetData && (
|
||||
<div class="file-card mt-10px">
|
||||
<IconFile class="w-24px h-24px mr-16px color-#6D4CFE" />
|
||||
<SvgIcon name="xt-file" size="14" class="color-#6D4CFE w-24px h-24px mr-16px"/>
|
||||
<div>
|
||||
<TextOverTips
|
||||
context={FILE_TYPE_MAP?.[_targetData.file_type] ?? '-'}
|
||||
@ -348,14 +341,14 @@ export default function useChatHandler(options: UseChatHandlerOptions): UseChatH
|
||||
// ) :
|
||||
<Tooltip title="复制" onClick={() => onCopy(existingItem.content.output)} align={{ offset: [0, 4] }}>
|
||||
<div class="action-box">
|
||||
<IconCopy size={16} class="color-#737478" />
|
||||
<SvgIcon name="xt-copy" size="16" class="color-#737478"/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
)}
|
||||
{isLastRunTask && (
|
||||
<Tooltip title="重新生成" onClick={() => onRefresh(teamRunTaskId)} align={{ offset: [0, 4] }}>
|
||||
<div class="action-box ml-12px">
|
||||
<IconRefresh size={16} class="color-#737478 " />
|
||||
<div class="action-box ml-12px flex items-center">
|
||||
<SvgIcon name="xt-refresh" size="16" class="color-#737478"/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
)}
|
||||
|
||||
@ -26,12 +26,12 @@ const DEFAULT_MENU_CONFIG = [
|
||||
{
|
||||
label: '重命名',
|
||||
key: 'rename',
|
||||
icon: <icon-edit size={14} class="color-#737478" />,
|
||||
icon: <SvgIcon name="xt-edit" size={14} class="color-#737478" />,
|
||||
},
|
||||
{
|
||||
label: '删除',
|
||||
key: 'delete',
|
||||
icon: <icon-delete size={14} class="color-#F64B31" />,
|
||||
icon: <SvgIcon name="xt-delete" size={14} class="color-#F64B31" />,
|
||||
status: 'danger',
|
||||
},
|
||||
] as ConversationItem[];
|
||||
@ -144,7 +144,7 @@ export default defineComponent({
|
||||
),
|
||||
}}
|
||||
>
|
||||
<icon-more size={16} class="color-#737478 cursor-pointer ml-8px opacity-0 group-hover:opacity-100" />
|
||||
<SvgIcon name="svg-more"size={16} class="color-#737478 cursor-pointer ml-8px opacity-0 group-hover:opacity-100" />
|
||||
</Dropdown>
|
||||
</div>
|
||||
));
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
<script lang="jsx">
|
||||
import { Input } from 'ant-design-vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
// import { handleUserHome } from '@/utils/user.ts';
|
||||
import { useChatStore } from '@/stores/modules/chat';
|
||||
import { useUserStore } from '@/stores';
|
||||
@ -34,7 +36,7 @@ export default {
|
||||
v-slots={{
|
||||
suffix: () => (
|
||||
<div class=" rounded-16px w-32px h-32px flex justify-center items-center icon " onClick={handleSearch}>
|
||||
<icon-arrow-right size={20} class="color-#6D4CFE" />
|
||||
<SvgIcon name="xt-arrow-right" size={20} class="color-#6D4CFE" />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
@ -32,8 +32,7 @@
|
||||
</div>
|
||||
<TextOverTips :context="userData.name || userData.mobile" />
|
||||
</div>
|
||||
|
||||
<icon-caret-down class="icon-caret color-#939499" size="14" />
|
||||
<<SvgIcon name="xt-caret-down" class="icon-caret color-#939499" size="14" />
|
||||
</div>
|
||||
|
||||
<template #overlay>
|
||||
@ -44,7 +43,7 @@
|
||||
<img :src="icon1" class="w-16px h-16px mr-8px" />
|
||||
<span>管理中心</span>
|
||||
</div>
|
||||
<icon-right size="12" />
|
||||
<SvgIcon name="xt-right" size="12" />
|
||||
</div>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="enterprises.length > 0">
|
||||
@ -55,7 +54,7 @@
|
||||
<img :src="icon3" class="w-16px h-16px mr-8px" />
|
||||
<span>切换企业账号</span>
|
||||
</div>
|
||||
<icon-right size="12" />
|
||||
<SvgIcon name="xt-right" size="12" />
|
||||
</div>
|
||||
</template>
|
||||
<div v-for="(item, index) in enterprises" :key="index">
|
||||
@ -70,7 +69,7 @@
|
||||
:class="enterpriseInfo?.id === item.id ? '!color-#6D4CFE' : ''"
|
||||
>
|
||||
<span>{{ item.name }}</span>
|
||||
<icon-check v-if="enterpriseInfo?.id === item.id" size="16" />
|
||||
<SvgIcon name="xt-check" v-if="enterpriseInfo?.id === item.id" size="16" />
|
||||
</div>
|
||||
</MenuItem>
|
||||
|
||||
@ -131,7 +130,7 @@
|
||||
<img :src="icon2" class="w-16px h-16px mr-8px" />
|
||||
<span>退出登录</span>
|
||||
</div>
|
||||
<icon-right size="12" />
|
||||
<SvgIcon name="xt-right" size="12" />
|
||||
</div>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<script lang="jsx">
|
||||
import { ref, computed } from 'vue';
|
||||
import { Button, Checkbox, Input, Tooltip, Table, Pagination, message, notification } from 'ant-design-vue';
|
||||
import { IconSearch, IconClose, IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||
import { Button, Checkbox, Input, Table, Pagination, message, notification } from 'ant-design-vue';
|
||||
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
import NoData from '@/components/no-data';
|
||||
import { getTask, postRedoTask, postBatchDownload, batchQueryTaskStatus } from '@/api/all/common';
|
||||
import { INITIAL_FORM, TABLE_COLUMNS } from './constants';
|
||||
@ -213,7 +213,7 @@ export default {
|
||||
allowClear
|
||||
onChange={handleSearch}
|
||||
v-slots={{
|
||||
prefix: () => <IconSearch />,
|
||||
prefix: () => <SvgIcon name="xt-search" size="14" class="color-#55585f"/>,
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
@ -227,7 +227,7 @@ export default {
|
||||
allowClear
|
||||
onChange={handleSearch}
|
||||
v-slots={{
|
||||
prefix: () => <IconSearch />,
|
||||
prefix: () => <SvgIcon name="xt-search" size="14" class="color-#55585f"/>,
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
@ -262,7 +262,7 @@ export default {
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<IconClose size={16} class="cursor-pointer color-#737478" onClick={clearSelectedRows} />
|
||||
<SvgIcon name="xt-close" size="16" class="cursor-pointer color-#55585f" onClick={clearSelectedRows} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -299,11 +299,6 @@ export default {
|
||||
title={() => (
|
||||
<>
|
||||
<span class="cts mr-4px">{column.title}</span>
|
||||
{column.tooltip && (
|
||||
<Tooltip title={column.tooltip} placement="top">
|
||||
<IconQuestionCircle class="tooltip-icon color-#737478" size={16} />
|
||||
</Tooltip>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
customRender={({ record }) => {
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
<script lang="jsx">
|
||||
import { ref, computed } from 'vue';
|
||||
import { Button, Tooltip, Table, Pagination } from 'ant-design-vue';
|
||||
import { IconSearch, IconClose, IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||
import { Button, Table, Pagination } from 'ant-design-vue';
|
||||
import NoData from '@/components/no-data';
|
||||
import DeleteTaskModal from './delete-task-modal.vue';
|
||||
|
||||
import { getTask } from '@/api/all/common';
|
||||
import { INITIAL_FORM, TABLE_COLUMNS } from './constants';
|
||||
import { IMPORT_TASK_STATUS, enumTaskStatus } from '../../constants';
|
||||
import { formatTableField, exactFormatTime } from '@/utils/tools';
|
||||
import { useTableSelectionWithPagination } from '@/hooks/useTableSelectionWithPagination';
|
||||
import { downloadByUrl } from '@/utils/tools';
|
||||
import DeleteTaskModal from './delete-task-modal.vue';
|
||||
import icon1 from '@/assets/img/media-account/icon-delete.png';
|
||||
// import { showExportNotification } from '@/utils/notification';
|
||||
|
||||
@ -147,11 +147,6 @@ export default {
|
||||
title={() => (
|
||||
<>
|
||||
<span class="cts mr-4px">{column.title}</span>
|
||||
{column.tooltip && (
|
||||
<Tooltip title={column.tooltip} placement="top">
|
||||
<IconQuestionCircle class="tooltip-icon color-#737478" size={16} />
|
||||
</Tooltip>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
customRender={({ record }) => {
|
||||
|
||||
@ -221,11 +221,12 @@ export default defineComponent({
|
||||
sidebarStore.setMenuCollapse();
|
||||
}}
|
||||
>
|
||||
{collapsed.value ? (
|
||||
<icon-menu-unfold size={16} class="color-#55585F icon mr-4px" />
|
||||
) : (
|
||||
<icon-menu-fold size={16} class="color-#55585F icon mr-4px" />
|
||||
)}
|
||||
<SvgIcon
|
||||
name="xt-menu-fold"
|
||||
size="16"
|
||||
class={`color-#737478 icon mr-4px ${collapsed.value ? 'xt-menu-unfold' : 'xt-menu-fold'}`}
|
||||
/>
|
||||
|
||||
{!collapsed.value && <span class="cts !color-#55585F flex-shrink-0">收起</span>}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import { IconBookmark } from '@arco-design/web-vue/es/icon';
|
||||
import type { AppRouteRecordRaw } from '../types';
|
||||
import { MENU_GROUP_IDS } from '@/router/constants';
|
||||
|
||||
@ -9,7 +8,6 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
redirect: 'dataEngine/hotTranslation',
|
||||
meta: {
|
||||
locale: '全域数据引擎',
|
||||
icon: IconBookmark,
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import { IconBookmark } from '@arco-design/web-vue/es/icon';
|
||||
import type { AppRouteRecordRaw } from '../types';
|
||||
import { MENU_GROUP_IDS } from '@/router/constants';
|
||||
import { GROUP_MANAGEMENT_NAME, GROUP_WRITER_NAME } from '@/layouts/components/siderBar/menu-list';
|
||||
@ -12,7 +11,6 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
redirect: 'management/person',
|
||||
meta: {
|
||||
locale: '管理中心',
|
||||
icon: IconBookmark,
|
||||
requiresAuth: false,
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { notification } from 'ant-design-vue';
|
||||
import { downloadByUrl } from '@/utils/tools';
|
||||
import { IconLoading } from '@arco-design/web-vue/es/icon';
|
||||
|
||||
import { Loading3QuartersOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||
import icon2 from '@/assets/img/media-account/icon-success.png';
|
||||
@ -23,7 +22,7 @@ export function showExportNotification(label: string, others: { id?: string, dur
|
||||
message: () => null,
|
||||
description: (
|
||||
<div class="flex items-center pr-16px">
|
||||
<IconLoading size={16} class="color-#6D4CFE mr-8px" />
|
||||
<Loading3QuartersOutlined class="color-#6D4CFE mr-8px" spin/>
|
||||
<p class="text-14px lh-22px font-400 color-#211F24">{label}</p>
|
||||
</div>
|
||||
),
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="pl-16px h-full flex flex-col overflow-y-auto">
|
||||
<div class="back-wap cursor-pointer mb-17px mt--3px !w-fit" @click="goChatIndex">
|
||||
<icon-left size="16" class="color-#737478 mr-4px" />
|
||||
<SvgIcon name="xt-left" size="16" class="color-#737478 mr-4px" />
|
||||
<span class="cs">返回空间</span>
|
||||
</div>
|
||||
<div class="workflow-container">
|
||||
@ -53,8 +53,8 @@
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { getChatAgent } from '@/api/all/agent';
|
||||
import { useRouter } from 'vue-router';
|
||||
import menuFold from '@/assets/svg/menu-fold.svg';
|
||||
import menuUnfold from '@/assets/svg/menu-unfold.svg';
|
||||
import menuFold from '@/assets/svg/xt-menu-fold.svg';
|
||||
import menuUnfold from '@/assets/svg/xt-menu-unfold.svg';
|
||||
import { Tooltip } from 'ant-design-vue';
|
||||
import { formatNumberShow } from '@/utils/tools';
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
class="absolute right-0 top-4px !w-400px"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search @click="getData()" />
|
||||
<SvgIcon name="xt-search" @click="getData()" />
|
||||
</template>
|
||||
</Input>
|
||||
<div v-for="(item, index) in list" :key="index">
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="h-full overflow-hidden flex flex-col">
|
||||
<div class="back-wap cursor-pointer mb-20px" @click="goChatIndex">
|
||||
<icon-left size="16" class="color-#737478 mr-4px" />
|
||||
<SvgIcon name="xt-left" size="16" class="color-#737478 mr-4px" />
|
||||
<span class="cs">返回空间</span>
|
||||
</div>
|
||||
<div class="workflow-container flex-1">
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<span class="title mr-4px">行业词云</span>
|
||||
<Tooltip>
|
||||
<template #title>基于行业内内容提取的高频词汇。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<span class="title mr-4px">行业热门话题洞察</span>
|
||||
<Tooltip>
|
||||
<template #title>基于社交内容平台的行业数据,分析用户关注的热门话题与趋势。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Table
|
||||
@ -61,7 +61,7 @@
|
||||
<span class="mr-8px">热度指数</span>
|
||||
<Tooltip>
|
||||
<template #title>综合话题出现频次、互动数据(如点赞、收藏、评论)加权计算的热度得分。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</template>
|
||||
@ -72,7 +72,7 @@
|
||||
<template #title
|
||||
>统计该行业下全部内容的情绪分布,选取占比最高的情绪类型作为该话题的整体情感倾向。</template
|
||||
>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</template>
|
||||
@ -165,7 +165,6 @@ import star5 from '@/assets/img/hottranslation/star-fill5.png';
|
||||
import top1 from '@/assets/img/captcha/top1.svg';
|
||||
import top2 from '@/assets/img/captcha/top2.svg';
|
||||
import top3 from '@/assets/img/captcha/top3.svg';
|
||||
import { IconQuestionCircle, IconArrowUp, IconArrowDown } from '@arco-design/web-vue/es/icon';
|
||||
// 新增排序状态和函数
|
||||
const heatSortDirection = ref('desc'); // 默认降序排列
|
||||
const columns = [
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<template #title
|
||||
>基于该行业中近期提及频次高、用户互动活跃的品牌内容,筛选出关注度较高的代表性品牌。</template
|
||||
>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Table
|
||||
@ -42,8 +42,8 @@
|
||||
</template>
|
||||
<template v-else-if="column.slotName === 'trend'" #customRender="{ record }">
|
||||
<div class="flex items-center" :class="record.trend > 0 ? 'color-#F64B31' : 'color-#25C883'">
|
||||
<icon-arrow-up v-if="record.trend > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record.trend > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ `${(record.trend * 100).toFixed(2)}%` }}
|
||||
</div>
|
||||
</template>
|
||||
@ -55,7 +55,7 @@
|
||||
<span>热度指数</span>
|
||||
<Tooltip>
|
||||
<template #title>综合话题出现频次、互动数据(如点赞、收藏、评论)加权计算的热度得分。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -64,7 +64,7 @@
|
||||
<span>变化幅度</span>
|
||||
<Tooltip>
|
||||
<template #title>仅基于品牌出现频次。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -73,7 +73,7 @@
|
||||
<span>占总声量比例</span>
|
||||
<Tooltip>
|
||||
<template #title>该品牌在当前周期内被提及的内容量,占整个行业内容总量的比例。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -94,7 +94,7 @@
|
||||
<template #title
|
||||
>基于情绪分析与敏感词识别,对行业内容中的负面或争议性话题进行监测,辅助判断舆情风险动态。</template
|
||||
>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<span class="title mr-4px">关键词热度榜</span>
|
||||
<Tooltip>
|
||||
<template #title>基于该行业用户内容中提及频率较高的关键词,按热度进行排序,反映近期关注焦点。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<span>热度指数</span>
|
||||
<Tooltip>
|
||||
<template #title>综合话题出现频次、互动数据(如点赞、收藏、评论)加权计算的热度得分。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -40,7 +40,7 @@
|
||||
<span>变化幅度</span>
|
||||
<Tooltip>
|
||||
<template #title>仅基于关键词出现频次。</template>
|
||||
<icon-question-circle size="14" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -64,8 +64,8 @@
|
||||
</template>
|
||||
<template #tred="{ record }">
|
||||
<div class="flex items-center" :class="record.trend > 0 ? 'color-#F64B31' : 'color-#25C883'">
|
||||
<icon-arrow-up v-if="record.trend > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record.trend > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ `${(record.trend * 100).toFixed(2)}%` }}
|
||||
</div>
|
||||
</template>
|
||||
@ -82,7 +82,7 @@
|
||||
<template #title
|
||||
>对该行业下用户内容进行情绪分析,按情绪类别统计占比,提取占比最高者作为行业情绪代表。</template
|
||||
>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
@ -135,7 +135,7 @@
|
||||
<template #title
|
||||
>指当前周期中首次出现,或相较上一周期词频显著增长的关键词,反映近期出现的新关注点。</template
|
||||
>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
@ -185,7 +185,7 @@
|
||||
<span>当前热度指数</span>
|
||||
<Tooltip>
|
||||
<template #title>综合关键词出现频次、互动表现(如点赞、收藏、评论)加权计算的热度得分。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
@ -194,14 +194,14 @@
|
||||
<span>变化幅度</span>
|
||||
<Tooltip>
|
||||
<template #title>仅基于关键词出现频次。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</Space>
|
||||
</template>
|
||||
<template #tred="{ record }">
|
||||
<div class="flex items-center" :class="record.trend > 0 ? 'color-#F64B31' : 'color-#25C883'">
|
||||
<icon-arrow-up v-if="record.trend > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record.trend > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ `${(record.trend * 100).toFixed(2)}%` }}
|
||||
</div>
|
||||
</template>
|
||||
@ -236,8 +236,8 @@
|
||||
<div class="mb-12px flex items-center">
|
||||
<p class="cts !mr-16px flex-shrink-0 w-83px">变化幅度</p>
|
||||
<div class="flex items-center" :class="topicInfo.trend > 0 ? 'color-#F64B31' : 'color-#25C883'">
|
||||
<icon-arrow-up v-if="topicInfo.trend > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="topicInfo.trend > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ `${topicInfo.trend * 100}%` }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -75,14 +75,14 @@
|
||||
<Space style="margin-left: 'auto'">
|
||||
<Button type="primary" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px"/>
|
||||
<SvgIcon name="xt-search" class="mr-8px"/>
|
||||
</template>
|
||||
<!-- Use the default slot to avoid extra spaces -->
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button class="w-84px reset-btn" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px"/>
|
||||
<SvgIcon name="xt-refresh" class="mr-8px"/>
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<template #title
|
||||
>基于用户内容中的情绪分析与表达模式,提取反复出现的负面倾向主题,反映典型使用痛点。</template
|
||||
>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Table
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<span class="title mr-4px">性别分布</span>
|
||||
<Tooltip>
|
||||
<template #title>基于社交内容平台中用户资料、互动行为及语义特征进行智能识别与估算。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Space v-if="genderData.length > 0">
|
||||
@ -42,7 +42,7 @@
|
||||
<span class="title mr-4px">年龄分布</span>
|
||||
<Tooltip>
|
||||
<template #title>基于社交平台的公开信息、内容偏好与行为模式,通过算法进行年龄段归类和统计。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Space v-if="ageValueData.length > 0" align="center">
|
||||
@ -63,7 +63,7 @@
|
||||
<span class="title mr-4px">地域分布</span>
|
||||
<Tooltip>
|
||||
<template #title>基于社交平台的IP归属地、位置标签、内容发布地等数据推测用户活跃区域。</template>
|
||||
<icon-question-circle size="16" class="!color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="!color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<div class="flex">
|
||||
|
||||
@ -69,7 +69,7 @@ const getAllIcons = () => {
|
||||
};
|
||||
|
||||
const onCopySvg = (name) => {
|
||||
const context = `<SvgIcon name="${name}" size="14" class="color-#55585f"/>`;
|
||||
const context = `<SvgIcon name="${name}" size="14" class="color-#737478"/>`;
|
||||
copy(context);
|
||||
message.success('复制成功');
|
||||
};
|
||||
|
||||
@ -97,7 +97,7 @@ export default {
|
||||
<Drawer width={320} rootClassName="ct-history-conversation-drawer" v-model:open={open.value} onClose={onClose}>
|
||||
<header class="header h-40px px-12px flex justify-between items-center">
|
||||
<span class="text-12px font-400 color-#211F24 font-family-medium">历史对话</span>
|
||||
<icon-close size={16} class="color-#211F24 cursor-pointer" onClick={onClose} />
|
||||
<SvgIcon name="xt-close" size={16} class="color-#211F24 cursor-pointer" onClick={onClose} />
|
||||
</header>
|
||||
{dataSource.value.length === 0 ? (
|
||||
<NoData text="暂无历史对话" />
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import { ref } from 'vue';
|
||||
import { Sender } from 'ant-design-x-vue';
|
||||
import { Tooltip } from 'ant-design-vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
interface SenderInputProps {
|
||||
modelValue?: string;
|
||||
@ -71,7 +72,7 @@ export default {
|
||||
isEmptyValue.value ? 'opacity-50' : ''
|
||||
}`}
|
||||
>
|
||||
<icon-arrow-right size={20} class="color-#FFFFFF" />
|
||||
<SvgIcon name="xt-arrow-right" size={20} class="color-#FFFFFF" />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<div class="w-full bg-#fff rounded-16px px-40px py-32px flex flex-col items-center">
|
||||
<div class="flex items-center mb-24px w-full">
|
||||
<div class="flex items-center cursor-pointer" @click="onBack">
|
||||
<icon-left class="mr-4px color-#000" size="24" />
|
||||
<SvgIcon name="xt-left" class="mr-4px color-#000" size="24" />
|
||||
<span class="color-#000 text-20px font-500 lh-28px font-family-medium">{{
|
||||
isResetPassword ? '重置密码' : '手机注册'
|
||||
}}</span>
|
||||
|
||||
@ -17,10 +17,10 @@ import icon3 from '@/assets/img/error-img.png';
|
||||
import icon4 from '@/assets/img/creative-generation-workshop/icon-avatar-default-v2.png';
|
||||
|
||||
const _iconMap = new Map([
|
||||
// [3, { icon: <icon-check-circle-fill size={16} class="color-#25C883 flex-shrink-0" /> }],
|
||||
[2, { icon: <icon-exclamation-circle-fill size={16} class="color-#F64B31 flex-shrink-0" /> }],
|
||||
[1, { icon: <icon-exclamation-circle-fill size={16} class="color-#FFAE00 flex-shrink-0" /> }],
|
||||
[0, { icon: <icon-check-circle-fill size={16} class="color-#25C883 flex-shrink-0" /> }],
|
||||
// [3, { icon: <SvgIcon name="xt-check-circle-fill" size={16} class="color-#25C883 flex-shrink-0" /> }],
|
||||
[2, { icon: <SvgIcon name="xt-exclamation-circle-fill" size={16} class="color-#F64B31 flex-shrink-0" /> }],
|
||||
[1, { icon: <SvgIcon name="xt-exclamation-circle-fill" size={16} class="color-#FFAE00 flex-shrink-0" /> }],
|
||||
[0, { icon: <SvgIcon name="xt-check-circle-fill" size={16} class="color-#25C883 flex-shrink-0" /> }],
|
||||
]);
|
||||
|
||||
export default {
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
}
|
||||
|
||||
return (
|
||||
<icon-delete
|
||||
<SvgIcon name="xt-delete"
|
||||
class="ml-12px cursor-pointer color-#55585F hover:color-#6D4CFE"
|
||||
size={16}
|
||||
onClick={() => deleteCommentModalRef.value?.open(id)}
|
||||
@ -121,7 +121,7 @@ export default {
|
||||
class="cts !color-#737478"
|
||||
/>
|
||||
</div>
|
||||
<icon-close size={16} class="color-#737478 cursor-pointer flex-shrink-0" onClick={closeReplay} />
|
||||
<SvgIcon name="xt-close" size={16} class="color-#737478 cursor-pointer flex-shrink-0" onClick={closeReplay} />
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
@ -292,11 +292,11 @@ export default {
|
||||
<img src={icon1} class="w-80px h-10.8px absolute bottom-1px left--9px" />
|
||||
</div>
|
||||
)}
|
||||
|
||||
<icon-menu-unfold
|
||||
<SvgIcon
|
||||
name="xt-menu-unfold"
|
||||
size={20}
|
||||
class="color-#55585F cursor-pointer hover:color-#6D4CFE absolute top-24px right-24px"
|
||||
onClick={() => emit('toggle', false)}
|
||||
class="color-#55585F cursor-pointer hover:color-#6D4CFE absolute top-24px right-24px"
|
||||
/>
|
||||
|
||||
{/**主体 */}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import { Button } from 'ant-design-vue';
|
||||
import { Spin } from 'ant-design-vue';
|
||||
import AiSuggest from './components/ai-suggest/';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import { getShareWorksList, getShareWorksDetail, patchShareWorksConfirm } from '@/api/all/generationWorkshop.ts';
|
||||
import { convertVideoUrlToCoverUrl, exactFormatTime } from '@/utils/tools.ts';
|
||||
@ -225,7 +226,7 @@ export default {
|
||||
) : (
|
||||
<section class={`page-wrap relative ${isExpand.value ? 'expand' : ''}`}>
|
||||
<div class="fold-box cursor-pointer" onClick={() => (isExpand.value = true)}>
|
||||
<icon-menu-fold size={20} class="color-#55585F hover:color-#6D4CFE" />
|
||||
<SvgIcon name="xt-menu-fold" size={20} class="color-#55585F hover:color-#6D4CFE"/>
|
||||
</div>
|
||||
<section class="explore-detail-wrap pt-32px pb-52px flex flex-col items-center">
|
||||
<div class="flex justify-start flex-col w-full relative">
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import { Tabs, TabPane, Button } from 'ant-design-vue';
|
||||
import ManuscriptList from './manuscript/list/index.vue';
|
||||
import ManuscriptCheckList from './manuscript/check-list/index.vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
import ShareManuscriptModal from '@/views/material-center/components/finished-products/manuscript/components/share-manuscript-modal/index.vue';
|
||||
import UploadManuscriptModal from '@/views/material-center/components/finished-products/manuscript/components/upload-manuscript-modal/index.vue';
|
||||
|
||||
@ -43,7 +44,7 @@ export default defineComponent({
|
||||
class="ml-12px"
|
||||
onClick={openUploadModal}
|
||||
v-slots={{
|
||||
icon: () => <icon-plus size="16" class="mr-8px" />,
|
||||
icon: () => <SvgIcon name="xt-plus" size="16" class="mr-8px" />,
|
||||
default: () => '上传内容稿件',
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
@ -35,7 +35,7 @@
|
||||
<!-- @change="handleSearch"-->
|
||||
<!-- >-->
|
||||
<!-- <template #prefix>-->
|
||||
<!-- <icon-search />-->
|
||||
<!-- <SvgIcon name="xt-search" />-->
|
||||
<!-- </template>-->
|
||||
<!-- </Input>-->
|
||||
<!-- </Space>-->
|
||||
@ -83,13 +83,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="mr-12px" size="medium" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button size="medium" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<script lang="jsx">
|
||||
import { Drawer, Image } from 'ant-design-vue';
|
||||
import TextOverTips from '@/components/text-over-tips';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import icon1 from '@/assets/img/error-img.png';
|
||||
|
||||
@ -45,7 +46,7 @@ export default {
|
||||
<span class="mr-8px cts bold">批量审核列表</span>
|
||||
<span class="mr-8px cts !lh-22px !text-14px">{`共${dataSource.value.length}个`}</span>
|
||||
</div>
|
||||
<icon-menu-unfold size={16} class="color-##55585F cursor-pointer hover:color-#6D4CFE" onClick={onClose} />
|
||||
<SvgIcon name="xt-menu-unfold" size={16} class="color-##55585F cursor-pointer hover:color-#6D4CFE" onClick={onClose}/>
|
||||
</div>
|
||||
<div class="flex-1 overflow-y-auto px-24px">
|
||||
{dataSource.value.map((item) => (
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
<script lang="jsx">
|
||||
import axios from 'axios';
|
||||
import { Swiper, SwiperSlide } from 'swiper/vue';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
import { Button, Form, Input, FormItem, Tabs, message, Image, Upload, Spin } from 'ant-design-vue';
|
||||
import { IconLoading } from '@arco-design/web-vue/es/icon';
|
||||
import { LoadingOutlined } from '@ant-design/icons-vue';
|
||||
import TextOverTips from '@/components/text-over-tips';
|
||||
import HighlightTextarea from './highlight-textarea';
|
||||
|
||||
@ -174,7 +175,7 @@ export default {
|
||||
<Button type="primary" ghost class="w-123px check-btn" onClick={onAiReplace} disabled={isDisabled.value}>
|
||||
{aiReplaceLoading.value ? (
|
||||
<>
|
||||
<IconLoading size={14} />
|
||||
<LoadingOutlined style={{ fontSize: '14px' }} spin />
|
||||
<span class="ml-8px check-text">AI生成中</span>
|
||||
</>
|
||||
) : (
|
||||
@ -270,7 +271,8 @@ export default {
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
<icon-close-circle-fill
|
||||
<SvgIcon
|
||||
name="xt-close-circle-fill"
|
||||
size={16}
|
||||
class="close-icon absolute top--8px right--8px hidden cursor-pointer color-#737478 hover:!color-#211F24 z-50"
|
||||
onClick={(e) => onDeleteImage(e, item, index)}
|
||||
@ -294,7 +296,7 @@ export default {
|
||||
<div class="flex justify-center mb-16px">
|
||||
{renderUpload(
|
||||
<div class="upload-box">
|
||||
<icon-plus size="14" class="mb-16px color-#3C4043" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-16px color-#3C4043" />
|
||||
<span class="cts !color-#211F24">上传图片</span>
|
||||
</div>,
|
||||
)}
|
||||
@ -426,7 +428,7 @@ export default {
|
||||
<span>{item.label}</span>
|
||||
{
|
||||
// activeTab.value === item.value && aiReview.value?.violation_items.length > 0 && (
|
||||
// <icon-exclamation-circle-fill size={14} class="color-#F64B31 absolute right--10px top-0" />
|
||||
// <SvgIcon name="xt-exclamation-circle-fill" size={14} class="color-#F64B31 absolute right--10px top-0" />
|
||||
// )
|
||||
}
|
||||
</div>
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<script lang="jsx">
|
||||
import { Button, message } from 'ant-design-vue';
|
||||
import { Spin } from 'ant-design-vue';
|
||||
import CancelCheckModal from './cancel-check-modal.vue';
|
||||
import CheckSuccessModal from './check-success-modal.vue';
|
||||
import HeaderCard from './components/header-card';
|
||||
import ContentCard from './components/content-card';
|
||||
import CheckListDrawer from './components/check-list-drawer';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import { slsWithCatch, rlsWithCatch, glsWithCatch } from '@/utils/stroage.ts';
|
||||
import useGetAiReviewResult from '@/hooks/useGetAiReviewResult.ts';
|
||||
@ -209,7 +209,7 @@ export default {
|
||||
<span class="cts color-#4E5969 cursor-pointer" onClick={onExit}>
|
||||
成品库
|
||||
</span>
|
||||
<icon-oblique-line size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<SvgIcon name="xt-oblique-line" size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<span class="cts bold !color-#1D2129">{`${workIds.value.length > 0 ? '批量' : ''}审核内容稿件`}</span>
|
||||
</div>
|
||||
{dataSource.value.length > 1 && (
|
||||
@ -217,7 +217,7 @@ export default {
|
||||
class="check-list-icon"
|
||||
onClick={() => checkListDrawerRef.value.open(dataSource.value, selectCardInfo.value)}
|
||||
>
|
||||
<icon-menu-fold size={16} class="color-#55585F icon mr-4px" />
|
||||
<SvgIcon name="xt-menu-fold" size={16} class="color-#55585F icon mr-4px" />
|
||||
<span class="cts !color-#211F24">审核列表</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
>
|
||||
<div class="group-container relative rounded-8px w-100px h-100px">
|
||||
<img :src="file.url" class="object-cover w-full h-full border-1px border-#E6E6E8 rounded-8px" />
|
||||
<icon-close-circle-fill
|
||||
<SvgIcon
|
||||
name="xt-close-circle-fill"
|
||||
:size="16"
|
||||
class="absolute top--8px right--8px cursor-pointer hidden color-#939499 hidden group-hover:block z-50"
|
||||
@click="() => handleDeleteFile(index)"
|
||||
@ -35,7 +36,7 @@
|
||||
>
|
||||
<template #default>
|
||||
<div class="upload-box">
|
||||
<icon-plus size="14" class="mb-16px color-#3C4043" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-16px color-#3C4043" />
|
||||
<span class="cts !color-#211F24">上传图片</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
<script lang="jsx">
|
||||
import axios from 'axios';
|
||||
import { Button, Form, FormItem, Input, message, Upload } from 'ant-design-vue';
|
||||
import { Loading3QuartersOutlined } from '@ant-design/icons-vue';
|
||||
// import CommonSelect from '@/components/common-select';
|
||||
// import { VueDraggable } from 'vue-draggable-plus';
|
||||
import TextOverTips from '@/components/text-over-tips';
|
||||
import ImgBox from './img-box';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import { formatFileSize, getVideoInfo, formatDuration, formatUploadSpeed } from '@/utils/tools';
|
||||
// import { getProjectList } from '@/api/all/propertyMarketing';
|
||||
@ -207,7 +209,7 @@ export default {
|
||||
>
|
||||
{formData.value.videoInfo.uploadStatus === ENUM_UPLOAD_STATUS.DEFAULT ? (
|
||||
<div class="upload-box">
|
||||
<icon-plus size="14" class="mb-16px color-#3C4043" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-16px color-#3C4043" />
|
||||
<span class="cts !color-#211F24">上传视频</span>
|
||||
</div>
|
||||
) : (
|
||||
@ -238,7 +240,7 @@ export default {
|
||||
<div class="flex items-center mr-12px">
|
||||
{isUploading ? (
|
||||
<div class="w-80px h-80px flex items-center justify-center bg-#fff rounded-8px mr-16px">
|
||||
<icon-loading size="24" class="color-#B1B2B5" />
|
||||
<Loading3QuartersOutlined spin size="24" class="color-#B1B2B5 text-24px" />
|
||||
</div>
|
||||
) : (
|
||||
<img src={formData.value.videoInfo.poster} class="w-80 h-80 object-cover mr-16px rounded-8px" />
|
||||
@ -256,7 +258,7 @@ export default {
|
||||
) : (
|
||||
<div class="flex items-center">
|
||||
<div class="flex items-center mr-24px w-100px">
|
||||
<icon-loading size="16" class="color-#6D4CFE mr-8px" />
|
||||
<Loading3QuartersOutlined spin size="16" class="color-#6D4CFE mr-8px text-16px" />
|
||||
<span class="cts !color-#6D4CFE mr-4px">上传中</span>
|
||||
<span class="cts !color-#6D4CFE ">{formData.value.videoInfo.percent}%</span>
|
||||
</div>
|
||||
|
||||
@ -139,7 +139,7 @@ export default {
|
||||
<div class="flex items-center">
|
||||
<span>分享对象</span>
|
||||
<Tooltip title="可填写客户名称、昵称等,非必填" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478 ml-4px" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478 ml-4px" size="14" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
),
|
||||
|
||||
@ -4,6 +4,8 @@ import { useClipboard } from '@vueuse/core';
|
||||
import { getWriterLinksGenerate, getTemplateUrl, postWorksByLink, postWorksByFile } from '@/api/all/generationWorkshop';
|
||||
import { generateFullUrl } from '@/utils/tools';
|
||||
import { slsWithCatch } from '@/utils/stroage.ts';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
import { Loading3QuartersOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
import TextOverTips from '@/components/text-over-tips';
|
||||
import icon1 from '@/assets/img/media-account/icon-feedback-fail.png';
|
||||
@ -240,7 +242,7 @@ export default {
|
||||
showUploadList={false}
|
||||
>
|
||||
<div class="upload-box">
|
||||
<icon-plus size="14" class="mb-16px" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-16px" />
|
||||
<span class="text mb-4px">点击或拖拽文件到此处上传</span>
|
||||
<span class="tip">支持文档(文本+图), 视频批量上传</span>
|
||||
</div>
|
||||
@ -256,7 +258,7 @@ export default {
|
||||
// 渲染加载状态
|
||||
const renderLoadingState = () => (
|
||||
<div class="flex flex-col items-center justify-center rounded-8px bg-#F7F8FA h-208px">
|
||||
<icon-loading size="48" class="!color-#6D4CFE mb-16px" />
|
||||
<Loading3QuartersOutlined spin class="!color-#6D4CFE mb-16px text-48px" />
|
||||
<p class="tip !text-#768893">上传过程耗时可能较长,请耐心等待;</p>
|
||||
<p class="tip !text-#768893">刷新页面将会终止本次数据的上传,请谨慎操作</p>
|
||||
</div>
|
||||
@ -282,7 +284,8 @@ export default {
|
||||
<img src={item.cover} width="32" height="32" class="rounded-3px mr-8px" />
|
||||
<TextOverTips class="text !text-left" context={item.title} />
|
||||
</div>
|
||||
<icon-delete
|
||||
<SvgIcon
|
||||
name="xt-delete"
|
||||
size="16px"
|
||||
class="color-#737478 cursor-pointer hover:!color-#211F24"
|
||||
onClick={() => onDelete(index)}
|
||||
|
||||
@ -163,7 +163,7 @@ export default {
|
||||
<span class="cts color-#4E5969 cursor-pointer" onClick={onBack}>
|
||||
{sourceInfo.value.title}
|
||||
</span>
|
||||
<icon-oblique-line size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<SvgIcon name="xt-oblique-line" size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<span class="cts bold !color-#1D2129">内容稿件详情</span>
|
||||
</div>
|
||||
<div class="flex-1 bg-#fff rounded-8px content">
|
||||
|
||||
@ -102,7 +102,7 @@ export default {
|
||||
<span class="cts color-#4E5969 cursor-pointer" onClick={onCancel}>
|
||||
成品库
|
||||
</span>
|
||||
<icon-oblique-line size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<SvgIcon name="xt-oblique-line" size="12" class="color-#C9CDD4 mx-4px" />
|
||||
<span class="cts bold !color-#1D2129">编辑内容稿件</span>
|
||||
</div>
|
||||
<div class="flex-1 overflow-y-auto p-24px bg-#fff rounded-8px ">
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -35,7 +35,7 @@
|
||||
<!-- @change="handleSearch"-->
|
||||
<!-- >-->
|
||||
<!-- <template #prefix>-->
|
||||
<!-- <icon-search />-->
|
||||
<!-- <SvgIcon name="xt-search" />-->
|
||||
<!-- </template>-->
|
||||
<!-- </Input>-->
|
||||
<!-- </div>-->
|
||||
@ -64,13 +64,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="mr-12px" size="medium" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button size="medium" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<script lang="jsx">
|
||||
import { Button, message } from 'ant-design-vue';
|
||||
import TextOverTips from '@/components/text-over-tips';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
||||
import CancelUploadModal from './cancel-upload-modal.vue';
|
||||
import UploadSuccessModal from './upload-success-modal.vue';
|
||||
@ -273,7 +275,8 @@ export default {
|
||||
)}`}
|
||||
onClick={() => onSelect(item)}
|
||||
>
|
||||
<icon-close-circle-fill
|
||||
<SvgIcon
|
||||
name="xt-close-circle-fill"
|
||||
size={16}
|
||||
class="absolute top--8px right--8px color-#737478 hover:color-#211F24 hidden group-hover:block"
|
||||
onClick={(e) => onDelete(e, item, index)}
|
||||
|
||||
@ -8,6 +8,7 @@ const { Option } = Select;
|
||||
// import CommonSelect from '@/components/common-select';
|
||||
import ImgLazyLoad from '@/components/img-lazy-load';
|
||||
// import TextOverTips from '@/components/text-over-tips';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import axios from 'axios';
|
||||
import { formatFileSize, getVideoInfo, getFileExtension } from '@/utils/tools';
|
||||
@ -19,7 +20,7 @@ import {
|
||||
documentExtensions,
|
||||
} from '@/views/material-center/components/raw-material/constants';
|
||||
|
||||
// import icon1 from '@/assets/img/media-account/icon-delete.png';
|
||||
// import icon1 from '@/assets/img/media-account/SvgIcon name="xt-delete".png';
|
||||
import icon2 from '../../img/icon-no-text.png';
|
||||
|
||||
enum EnumUploadStatus {
|
||||
@ -464,7 +465,8 @@ export default defineComponent({
|
||||
customRender={({ text, record }) => {
|
||||
return (
|
||||
<div class="flex items-center justify-end">
|
||||
<icon-delete
|
||||
<SvgIcon
|
||||
name="xt-delete"
|
||||
class="mr-8px color-#737478 cursor-pointer"
|
||||
size="14"
|
||||
onClick={() => openDeleteModal(record)}
|
||||
@ -509,7 +511,7 @@ export default defineComponent({
|
||||
onDragleave={handleDragLeave}
|
||||
onDrop={handleDrop}
|
||||
>
|
||||
<icon-plus size="14" class="mb-10px color-#55585F" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-10px color-#55585F" />
|
||||
<span class="cts">点击或拖拽文件到此处上传</span>
|
||||
</div>
|
||||
</Upload>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -36,7 +36,7 @@
|
||||
<!-- <span class="label">序号</span>-->
|
||||
<!-- <Input v-model:value="query.uid" class="!w-160px" placeholder="请输入序号" allowClear @change="handleSearch">-->
|
||||
<!-- <template #prefix>-->
|
||||
<!-- <icon-search />-->
|
||||
<!-- <SvgIcon name="xt-search" />-->
|
||||
<!-- </template>-->
|
||||
<!-- </Input>-->
|
||||
<!-- </div>-->
|
||||
@ -54,13 +54,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="mr-12px" size="medium" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button size="medium" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'name'" #customRender="{ record }">
|
||||
@ -75,7 +75,7 @@
|
||||
</template>
|
||||
<template v-else-if="column.dataIndex === 'operation'" #customRender="{ record }">
|
||||
<div class="flex items-center">
|
||||
<icon-delete class="mr-8px color-#737478 cursor-pointer" size="14" @click="onDelete(record)" />
|
||||
<SvgIcon name="xt-delete" class="mr-8px color-#737478 cursor-pointer" size="14" @click="onDelete(record)" />
|
||||
<Button class="mr-8px !h-24px !px-12px" ghost size="small" type="primary" @click="onEdit(record)"
|
||||
>编辑
|
||||
</Button>
|
||||
@ -102,7 +102,7 @@ import TextOverTips from '@/components/text-over-tips';
|
||||
import HoverImagePreview from '@/components/hover-image-preview';
|
||||
import ImgLazyLoad from '@/components/img-lazy-load';
|
||||
|
||||
// import icon1 from '@/assets/img/media-account/icon-delete.png';
|
||||
// import icon1 from '@/assets/img/media-account/SvgIcon name="xt-delete".png';
|
||||
import icon2 from '../../img/icon-no-text.png';
|
||||
|
||||
const emits = defineEmits(['sorterChange', 'delete', 'select', 'selectAll', 'edit']);
|
||||
|
||||
@ -25,13 +25,13 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
<Button type="primary" @click="openAdd">
|
||||
<template #icon>
|
||||
<icon-plus class="mr-8px" size="16" />
|
||||
<SvgIcon name="xt-plus" class="mr-8px" size="16" />
|
||||
</template>
|
||||
<template #default>添加新标签</template>
|
||||
</Button>
|
||||
@ -51,7 +51,7 @@
|
||||
<span class="s1 mb-32px mt-8px">暂无标签</span>
|
||||
<Button size="large" type="primary" @click="openAdd">
|
||||
<template #icon>
|
||||
<icon-plus class="mr-8px" size="16" />
|
||||
<SvgIcon name="xt-plus" class="mr-8px" size="16" />
|
||||
</template>
|
||||
<template #default>去添加</template>
|
||||
</Button>
|
||||
|
||||
@ -9,6 +9,7 @@ import DeleteRawMaterialModal from './components/table/delete-file-modal.vue';
|
||||
import TagsManageModal from './components/tags-manage-modal';
|
||||
import AddRawMaterialDrawer from './components/add-raw-material-drawer';
|
||||
import EditRawMaterialDrawer from './components/edit-raw-material-modal';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
import { useTableSelectionWithPagination } from '@/hooks/useTableSelectionWithPagination';
|
||||
import { getRawMaterialsPage } from '@/api/all/generationWorkshop';
|
||||
@ -132,7 +133,7 @@ export default defineComponent({
|
||||
class="ml-12px"
|
||||
onClick={handleAddMaterial}
|
||||
v-slots={{
|
||||
icon: () => <icon-plus size="16" class="mr-8px" />,
|
||||
icon: () => <SvgIcon name="xt-plus" size="16" class="mr-8px" />,
|
||||
default: () => '上传原料',
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<Space size="medium">
|
||||
<Input v-model:value="query.name" class="w-240px" placeholder="请搜索..." size="medium" allowClear>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
@ -23,13 +23,13 @@
|
||||
<div class="filter-row flex">
|
||||
<Button type="outline" ghost class="mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
@ -98,7 +98,7 @@
|
||||
cancelText="取消"
|
||||
@confirm="deleteBrand(record.id)"
|
||||
>
|
||||
<icon-delete></icon-delete>
|
||||
<SvgIcon name="xt-delete" size="14" class="color-#55585f"/>
|
||||
</Popconfirm>
|
||||
<Button type="outline" class="edit-btn" size="small" @click="handleEdit(record.id)">编辑</Button>
|
||||
</Space>
|
||||
@ -125,7 +125,6 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, reactive, onMounted } from 'vue';
|
||||
import { IconDelete } from '@arco-design/web-vue/es/icon';
|
||||
import { Button, Modal, Space, Form, FormItem, Pagination, Input, Table, message, Popconfirm } from 'ant-design-vue';
|
||||
const { TextArea } = Input;
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<span class="label">服务/产品</span>
|
||||
<Input v-model:value="query.name" class="w-240px" placeholder="请搜索..." size="middle" allowClear>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -25,13 +25,13 @@
|
||||
<div class="filter-row flex">
|
||||
<Button class="mr-12px outline-btn">
|
||||
<template #icon>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
搜索
|
||||
</Button>
|
||||
<Button>
|
||||
<template #icon>
|
||||
<icon-refresh />
|
||||
<SvgIcon name="xt-refresh" />
|
||||
</template>
|
||||
重置
|
||||
</Button>
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<Space>
|
||||
<Input v-model:value="query.name" class="w-240px" placeholder="请搜索..." allowClear>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
@ -27,13 +27,13 @@
|
||||
<div class="filter-row flex">
|
||||
<Button type="primary" ghost class="mr-12px">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button>
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<Button type="outline" class="w-110px mr-12px" size="medium" @click="handleExport">
|
||||
<template #icon> <icon-download class="mr-8px" /> </template>
|
||||
<template #icon> <SvgIcon name="xt-download" class="mr-8px" /> </template>
|
||||
<template #default>导出数据</template>
|
||||
</Button>
|
||||
<Button type="outline" class="w-110px" size="medium" @click="openCustomColumn">
|
||||
@ -63,7 +63,7 @@
|
||||
<img v-if="column.dataIndex === 'ai_evaluate'" width="16" height="16" :src="icon5" class="mr-4px" />
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
@ -114,8 +114,8 @@
|
||||
|
||||
<template v-else-if="column.isRateField" #customRender="{ record }">
|
||||
<div class="flex items-center rate-row justify-end" :class="record[column.dataIndex] > 0 ? 'up' : 'down'">
|
||||
<icon-arrow-up v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ formatTableField(column, record) }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -54,10 +54,10 @@
|
||||
:class="isRequiredColumn(item) ? '!display-none' : ''"
|
||||
>
|
||||
<div class="flex items-center">
|
||||
<icon-menu size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-menu" size="16" class="mr-8px"/>
|
||||
<span>{{ getCheckColumnLabel(item) }}</span>
|
||||
</div>
|
||||
<icon-close size="16" class="color-#737478 cursor-pointer" @click="removeCheckedField(item)" />
|
||||
<SvgIcon name="xt-close" size="16" class="color-#737478 cursor-pointer" @click="removeCheckedField(item)" />
|
||||
</div>
|
||||
</VueDraggable>
|
||||
</div>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<span class="label">账号名称</span>
|
||||
<Input v-model:value="query.name" placeholder="请搜索..." class="!w-240px" allowClear @change="handleSearch">
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -37,7 +37,7 @@
|
||||
<div class="filter-row-item flex items-center">
|
||||
<span class="label">时间筛选</span>
|
||||
<Select v-model:value="query.type" size="middle" placeholder="全部" class="!w-240px" @change="handleSearch">
|
||||
<template #suffixIcon> <icon-calendar size="16" /> </template>
|
||||
<template #suffixIcon> <SvgIcon name="xt-calendar" size="16" /> </template>
|
||||
<Option :value="7" label="近7天">近7天</Option>
|
||||
<!-- <Option :value="14" label="近14天">近14天</Option> -->
|
||||
<Option :value="30" label="近30天">近30天</Option>
|
||||
@ -46,13 +46,13 @@
|
||||
<div class="filter-row-item flex items-center">
|
||||
<Button type="primary" ghost class="w-84px mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button class="w-84px" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<div class="flex items-center">
|
||||
<p class="text-18px font-400 lh-26px color-#211F24 mr-4px title">数据总览</p>
|
||||
<Tooltip title="展示所筛选的账号的信息汇总">
|
||||
<icon-question-circle size="16" class="color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="color-#737478" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
<div class="flex items-center mb-4px">
|
||||
<p class="cts !color-#737478 !mr-4px">{{ field.title }}</p>
|
||||
<Tooltip v-if="field.tooltip" :title="field.tooltip" position="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<p class="cts">
|
||||
@ -104,8 +104,8 @@
|
||||
class="flex items-center"
|
||||
:class="detailData[field.dataIndex] > 0 ? 'color-#F64B31' : 'color-#25C883'"
|
||||
>
|
||||
<icon-arrow-up v-if="detailData[field.dataIndex] > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="detailData[field.dataIndex] > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ `${detailData[field.dataIndex]}%` }}
|
||||
</div>
|
||||
</template>
|
||||
@ -125,7 +125,7 @@
|
||||
@click="showMore = !showMore"
|
||||
>
|
||||
<span class="cts mr-8px !color-#6D4CFE"> {{ showMore ? '收起' : '更多' }} </span>
|
||||
<icon-down
|
||||
<SvgIcon name="xt-down"
|
||||
size="13"
|
||||
class="!color-#6D4CFE transform transition-transform duration-300 ease-in-out"
|
||||
:class="showMore ? 'rotate-180' : ''"
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<div class="flex items-center">
|
||||
<span class="cts !text-18px !lh-26px mr-4px title">作品列表</span>
|
||||
<Tooltip title="展示笔记层级的详细数据,如曝光、互动等,是内容精细分析入口。">
|
||||
<icon-question-circle class="color-#737478" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="color-#737478" size="14" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
@ -17,7 +17,7 @@
|
||||
<span class="label">作品标题</span>
|
||||
<Input v-model:value="query.title" class="!w-240px" placeholder="请搜索..." allowClear @change="handleSearch">
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -34,13 +34,13 @@
|
||||
</div>
|
||||
<Button type="primary" ghost class="w-84px mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button class="w-84px" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
@ -68,7 +68,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="14" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<template #customRender="{ record }">
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<template>
|
||||
<div class="account-detail-wrap">
|
||||
<div class="flex items-center mb-16px cursor-pointer" @click="handleBack">
|
||||
<icon-left size="16" />
|
||||
<SvgIcon name="xt-left" size="16" />
|
||||
<span class="cts title ml-8px">账号列表</span>
|
||||
</div>
|
||||
<AccountInfo />
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
:wrapperClassName="`card-item ${isSelected(item) ? 'checked' : ''}`"
|
||||
>
|
||||
<template #icon>
|
||||
<icon-sync size="24" />
|
||||
<SvgIcon name="xt-sync" size="24" />
|
||||
</template>
|
||||
<Checkbox
|
||||
:checked="isSelected(item)"
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'name'" #customRender="{ record }">
|
||||
|
||||
@ -24,6 +24,7 @@ import AuthorizedAccountModal from '../authorized-account-modal';
|
||||
import StatusBox from '@/views/property-marketing/media-account/components/status-select/status-box.tsx';
|
||||
import SyncDataModal from '../sync-data-modal';
|
||||
import CommonSelect from '@/components/common-select';
|
||||
import SvgIcon from '@/components/svg-icon/index.vue';
|
||||
|
||||
// import { downloadByUrl } from '@/utils/tools';
|
||||
import { showExportNotification } from '@/utils/notification';
|
||||
@ -265,7 +266,7 @@ export default {
|
||||
<>
|
||||
<span class="label">{label}</span>
|
||||
<Tooltip content={tooltipContent}>
|
||||
<icon-question-circle size="14" class="ml-4px color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="ml-4px color-#737478" />
|
||||
</Tooltip>
|
||||
</>
|
||||
);
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
height="24"
|
||||
class="mb-13px"
|
||||
/>
|
||||
<icon-loading v-else size="24" class="color-#6D4CFE mb-13px" />
|
||||
<Loading3QuartersOutlined spin v-else class="color-#6D4CFE mb-13px text-24px" />
|
||||
<span
|
||||
:class="modalState === MODAL_STATE.QR_FAILED ? '!color-#F64B31' : '!color-#6D4CFE'"
|
||||
class="s2"
|
||||
@ -66,7 +66,7 @@
|
||||
<Image v-else :src="qrCodeUrl" :width="160" :height="160" />
|
||||
<!-- 二维码失效遮罩 -->
|
||||
<div v-if="modalState === MODAL_STATE.QR_EXPIRED" class="mask cursor-pointer" @click="handleRefreshQrCode">
|
||||
<icon-refresh size="24" class="mb-13px" />
|
||||
<SvgIcon name="xt-refresh" size="24" class="mb-13px" />
|
||||
<p class="s1">二维码失效</p>
|
||||
<p class="s1">请点击刷新</p>
|
||||
</div>
|
||||
@ -77,9 +77,7 @@
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<Button v-if="modalState === MODAL_STATE.QR_READY" size="large" @click="handleRefreshQrCode">
|
||||
重新生成
|
||||
</Button>
|
||||
<Button v-if="modalState === MODAL_STATE.QR_READY" size="large" @click="handleRefreshQrCode"> 重新生成 </Button>
|
||||
<Button v-if="[MODAL_STATE.SUCCESS, MODAL_STATE.FAILED].includes(modalState)" size="large" @click="close">
|
||||
取消
|
||||
</Button>
|
||||
@ -95,6 +93,7 @@
|
||||
<script setup>
|
||||
import { defineExpose, ref, computed } from 'vue';
|
||||
import { Button, Modal, message, Image, Progress } from 'ant-design-vue';
|
||||
import { Loading3QuartersOutlined } from '@ant-design/icons-vue';
|
||||
import { getAuthorizedImage, getMediaAccountsAuthorizedStatus } from '@/api/all/propertyMarketing';
|
||||
import SyncDataModal from '../sync-data-modal';
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<span class="label">账号名称/ID/手机号</span>
|
||||
<Input v-model:value="query.search" class="w-240px" placeholder="请搜索..." allowClear @change="handleSearch">
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -66,13 +66,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="w-84px mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button class="w-84px" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -19,14 +19,14 @@
|
||||
<Space size="medium" class="w-240px">
|
||||
<Input v-model:value="query.name" placeholder="请搜索..." size="middle" allowClear @change="reload">
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
</div>
|
||||
<Button type="primary" size="middle" @click="openAdd"
|
||||
><template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>添加新分组</template>
|
||||
</Button>
|
||||
@ -72,7 +72,7 @@
|
||||
<span class="s1 mb-16px">暂无分组</span>
|
||||
<Button type="primary" class="mb-16px" size="middle" @click="openAdd"
|
||||
><template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>去添加</template>
|
||||
</Button>
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
height="24"
|
||||
class="mb-13px"
|
||||
/>
|
||||
<icon-loading v-else size="24" class="color-#6D4CFE mb-13px" />
|
||||
<Loading3QuartersOutlined spin v-else size="24" class="color-#6D4CFE mb-13px text-24px" />
|
||||
<span
|
||||
:class="modalState === MODAL_STATE.QR_FAILED ? '!color-#F64B31' : '!color-#6D4CFE'"
|
||||
class="s2"
|
||||
@ -82,7 +82,7 @@
|
||||
|
||||
<!-- 二维码失效遮罩 -->
|
||||
<div v-if="modalState === MODAL_STATE.QR_EXPIRED" class="mask cursor-pointer" @click="handleRefreshQrCode">
|
||||
<icon-refresh size="24" class="mb-13px" />
|
||||
<SvgIcon name="xt-refresh" size="24" class="mb-13px" />
|
||||
<p class="s1">二维码失效</p>
|
||||
<p class="s1">请点击刷新</p>
|
||||
</div>
|
||||
@ -113,6 +113,7 @@
|
||||
<script setup>
|
||||
import { defineExpose, ref, computed } from 'vue';
|
||||
import { Button, Modal, message, Image, Progress } from 'ant-design-vue';
|
||||
import { Loading3QuartersOutlined } from '@ant-design/icons-vue';
|
||||
import { getMediaAccountsAuthorizedStatus, getAuthorizedImage } from '@/api/all/propertyMarketing';
|
||||
import SyncDataModal from '../sync-data-modal';
|
||||
|
||||
|
||||
@ -25,13 +25,13 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
<Button type="primary" @click="openAdd">
|
||||
<template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>添加新标签</template>
|
||||
</Button>
|
||||
@ -51,7 +51,7 @@
|
||||
<span class="s1 mb-16px">暂无标签</span>
|
||||
<Button type="primary" class="mb-16px" @click="openAdd">
|
||||
<template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>去添加</template>
|
||||
</Button>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
</Button>
|
||||
<Button type="primary" class="w-112px" size="middle" @click="handleOpenAccountModal">
|
||||
<template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>添加账号</template>
|
||||
</Button>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="note-detail-wrap h-full flex flex-col">
|
||||
<div class="flex items-center mb-16px cursor-pointer" @click="handleBack">
|
||||
<icon-left size="16" />
|
||||
<SvgIcon name="xt-left" size="16" />
|
||||
<span class="cts ml-8px bold">账号详情</span>
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="flex items-center">
|
||||
<span class="cts !text-18px !lh-26px mr-4px bold">作品详情</span>
|
||||
<Tooltip title="展示作品的标题、图文、视频等详细内容">
|
||||
<icon-question-circle class="color-#737478" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="color-#737478" size="14" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
@ -42,7 +42,7 @@
|
||||
<div class="flex items-center">
|
||||
<span class="cts !text-18px !lh-26px mr-4px bold">评论列表</span>
|
||||
<Tooltip title="展示用户对作品的评论">
|
||||
<icon-question-circle class="color-#737478" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="color-#737478" size="14" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
@ -76,7 +76,7 @@
|
||||
<div class="flex items-center">
|
||||
<span class="cts !text-18px !lh-26px mr-4px bold">作品数据</span>
|
||||
<Tooltip title="展示作品的曝光量、点赞量等数据指标">
|
||||
<icon-question-circle class="color-#737478" size="14" />
|
||||
<SvgIcon name="xt-question-circle" class="color-#737478" size="14" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
@ -85,7 +85,7 @@
|
||||
<div class="flex items-center mb-4px">
|
||||
<span class="cts !color-#737478 mr-4px">{{ item.label }}</span>
|
||||
<Tooltip :title="item.tooltip">
|
||||
<icon-question-circle class="color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
<span class="cts num">{{ formatNumberShow(dataSource[item.prop]) }}</span>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
<Input
|
||||
@ -23,7 +23,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
@ -98,7 +98,7 @@
|
||||
<Tooltip :title="item.title">
|
||||
<p class="name mr-4px">{{ item.title || '-' }}</p>
|
||||
</Tooltip>
|
||||
<icon-close size="12" class="color-#3C4043 cursor-pointer flex-shrink-0" @click="onDelete(item)" />
|
||||
<SvgIcon name="xt-close" size="12" class="color-#3C4043 cursor-pointer flex-shrink-0" @click="onDelete(item)" />
|
||||
</div>
|
||||
</template>
|
||||
<NoData v-else text="暂无账户" />
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
<Select
|
||||
@ -69,7 +69,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
@ -98,7 +98,7 @@
|
||||
<Tooltip :title="item.name">
|
||||
<p class="name mr-4px">{{ item.name || '-' }}</p>
|
||||
</Tooltip>
|
||||
<icon-close size="12" class="color-#3C4043 cursor-pointer flex-shrink-0" @click="onDelete(item)" />
|
||||
<SvgIcon name="xt-close" size="12" class="color-#3C4043 cursor-pointer flex-shrink-0" @click="onDelete(item)" />
|
||||
</div>
|
||||
</template>
|
||||
<NoData v-else text="暂无账户" />
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
<Select
|
||||
@ -72,7 +72,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<template #customRender="{ record }">
|
||||
@ -98,7 +98,7 @@
|
||||
<div class="flex flex-wrap" v-if="selectedRows?.length">
|
||||
<div class="tag-item mr-8px mb-8px" v-for="item in selectedRows" :key="item.id">
|
||||
<span class="name mr-4px">{{ item.name || '-' }}</span>
|
||||
<icon-close size="12" class="color-#3C4043 cursor-pointer" @click="onDelete(item)" />
|
||||
<SvgIcon name="xt-close" size="12" class="color-#3C4043 cursor-pointer" @click="onDelete(item)" />
|
||||
</div>
|
||||
</div>
|
||||
<NoData v-else text="暂无账号" />
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
@ -26,13 +26,13 @@
|
||||
<div class="filter-row-item flex items-center">
|
||||
<Button type="primary" ghost class="mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px"/>
|
||||
<SvgIcon name="xt-search" class="mr-8px"/>
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px"/>
|
||||
<SvgIcon name="xt-refresh" class="mr-8px"/>
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<div class="flex items-center">
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<div class="flex items-center">
|
||||
<Button type="primary" class="w-112px search-btn" size="medium" @click="handleOpenAddProjectModal">
|
||||
<template #icon>
|
||||
<icon-plus size="16" />
|
||||
<SvgIcon name="xt-plus" size="16" />
|
||||
</template>
|
||||
<template #default>添加项目</template>
|
||||
</Button>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<template #title>
|
||||
<span class="a-card-title">{{ title.name }}</span>
|
||||
<Tooltip position="tl" :title="title.popover">
|
||||
<icon-question-circle />
|
||||
<SvgIcon name="xt-question-circle" />
|
||||
</Tooltip>
|
||||
|
||||
</template>
|
||||
|
||||
@ -37,13 +37,13 @@
|
||||
</div>
|
||||
<Button type="primary" ghost class="mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
<div class="flex items-center">
|
||||
<Button type="primary" ghost class="mr-12px" size="medium" @click="handleExport">
|
||||
<template #icon> <icon-download class="mr-8px" /> </template>
|
||||
<template #icon> <SvgIcon name="xt-download" class="mr-8px" /> </template>
|
||||
<template #default>导出数据</template>
|
||||
</Button>
|
||||
<Button type="primary" ghost size="medium" @click="openCustomColumn">
|
||||
@ -66,7 +66,7 @@
|
||||
<img v-if="column.dataIndex === 'ai_evaluate'" width="16" height="16" :src="icon5" class="mr-4px" />
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
@ -105,8 +105,8 @@
|
||||
|
||||
<template v-else-if="column.isRateField" #customRender="{ record }">
|
||||
<div class="flex items-center rate-row justify-end" :class="record[column.dataIndex] > 0 ? 'up' : 'down'">
|
||||
<icon-arrow-up v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ formatTableField(column, record) }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -63,13 +63,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="mr-12px" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -19,14 +19,14 @@
|
||||
<Space size="medium" class="w-240px">
|
||||
<Input v-model:value="query.name" placeholder="请搜索..." size="middle" allowClear @change="handleSearch">
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</Space>
|
||||
</div>
|
||||
<Button type="primary" size="medium" @click="openAdd"
|
||||
><template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>添加新分组</template>
|
||||
</Button>
|
||||
@ -68,7 +68,7 @@
|
||||
<span class="s1 mb-16px">暂无分组</span>
|
||||
<Button type="primary" class="mb-16px" size="medium" @click="openAdd"
|
||||
><template #icon>
|
||||
<icon-plus size="16" class="mr-8px" />
|
||||
<SvgIcon name="xt-plus" size="16" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>去添加</template>
|
||||
</Button>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
<div class="flex items-center">
|
||||
<Button type="primary" ghost class="mr-12px" @click="handleExport">
|
||||
<template #icon> <icon-download class="mr-8px" /> </template>
|
||||
<template #icon> <SvgIcon name="xt-download" class="mr-8px" /> </template>
|
||||
<template #default>导出数据</template>
|
||||
</Button>
|
||||
<Button type="primary" ghost @click="openCustomColumn">
|
||||
@ -61,7 +61,7 @@
|
||||
<img v-if="column.dataIndex === 'ai_evaluate'" width="16" height="16" :src="icon5" class="mr-4px" />
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<template #customRender="{ record }">
|
||||
@ -101,8 +101,8 @@
|
||||
</template>
|
||||
<template v-else-if="column.isRateField">
|
||||
<div class="flex items-center rate-row justify-end" :class="record[column.dataIndex] > 0 ? 'up' : 'down'">
|
||||
<icon-arrow-up v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<icon-arrow-down v-else size="16" />
|
||||
<SvgIcon name="xt-arrow-up" v-if="record[column.dataIndex] > 0" size="16" />
|
||||
<SvgIcon name="xt-arrow-down" v-else size="16" />
|
||||
{{ formatTableField(column, record) }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
:showUploadList="false"
|
||||
>
|
||||
<div class="upload-box">
|
||||
<icon-plus size="14" class="mb-16px" />
|
||||
<SvgIcon name="xt-plus" size="14" class="mb-16px" />
|
||||
<span class="text mb-4px">点击或拖拽文件到此处上传</span>
|
||||
<span class="tip">支持 xls, xlsx格式</span>
|
||||
</div>
|
||||
@ -58,7 +58,7 @@
|
||||
}"
|
||||
>
|
||||
<div class="flex items-center">
|
||||
<icon-file size="16" class="flex-shrink-0" />
|
||||
<SvgIcon name="xt-file" size="16" class="flex-shrink-0" />
|
||||
<span class="name ml-8px">{{ fileName }}</span>
|
||||
</div>
|
||||
<span
|
||||
@ -132,7 +132,7 @@
|
||||
<template #label>
|
||||
<span class="label">同步项目数据</span>
|
||||
<Tooltip title="同步项目数据后,账户数据将同步到项目中">
|
||||
<icon-question-circle size="14" class="ml-4px color-#737478" />
|
||||
<SvgIcon name="xt-question-circle" size="14" class="ml-4px color-#737478" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
<Switch v-model:checked="form.is_sync_project" size="middle" :checkedValue="1" :unCheckedValue="0" />
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
@change="handleSearch"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -59,13 +59,13 @@
|
||||
<div class="filter-row-item">
|
||||
<Button type="primary" ghost class="mr-12px" size="medium" @click="handleSearch">
|
||||
<template #icon>
|
||||
<icon-search class="mr-8px" />
|
||||
<SvgIcon name="xt-search" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>搜索</template>
|
||||
</Button>
|
||||
<Button size="medium" @click="handleReset">
|
||||
<template #icon>
|
||||
<icon-refresh class="mr-8px" />
|
||||
<SvgIcon name="xt-refresh" class="mr-8px" />
|
||||
</template>
|
||||
<template #default>重置</template>
|
||||
</Button>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
@change="reload"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -36,7 +36,7 @@
|
||||
@change="reload"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
<SvgIcon name="xt-search" />
|
||||
</template>
|
||||
</Input>
|
||||
</div>
|
||||
@ -72,7 +72,7 @@
|
||||
<template #title>
|
||||
<span class="cts mr-4px">{{ column.title }}</span>
|
||||
<Tooltip v-if="column.tooltip" :title="column.tooltip" placement="top">
|
||||
<icon-question-circle class="tooltip-icon color-#737478" size="16" />
|
||||
<SvgIcon name="xt-question-circle" class="tooltip-icon color-#737478" size="16" />
|
||||
</Tooltip>
|
||||
</template>
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<div class="flex items-center">
|
||||
<Button type="primary" class="w-112px" @click="handleOpenAccountModal">
|
||||
<template #icon>
|
||||
<icon-plus size="16" />
|
||||
<SvgIcon name="xt-plus" size="16" />
|
||||
</template>
|
||||
<template #default>添加账户</template>
|
||||
</Button>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<div class="part-div-header">
|
||||
<span class="part-div-header-title">投放行动指南</span>
|
||||
<Tooltip position="tl" title="投放建议优化。">
|
||||
<icon-question-circle />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="color-#737478"/>
|
||||
</Tooltip>
|
||||
</div>
|
||||
<Space>
|
||||
<span class="player-title">表现分析</span>
|
||||
<Tooltip position="tl" title="表现分析。">
|
||||
<icon-question-circle />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="color-#737478"/>
|
||||
</Tooltip>
|
||||
</Space>
|
||||
<div style="margin-right: 24px">
|
||||
@ -79,7 +79,7 @@
|
||||
<Space>
|
||||
<span class="player-title">新投放建议生成</span>
|
||||
<Tooltip position="tl" title="新投放建议生成。">
|
||||
<icon-question-circle />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="color-#737478"/>
|
||||
</Tooltip>
|
||||
</Space>
|
||||
<Row class="grid-demo" :gutter="24">
|
||||
@ -137,7 +137,6 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { Space, Tooltip, Row, Col } from "ant-design-vue"
|
||||
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||
|
||||
const props = defineProps({
|
||||
action_guide: {
|
||||
|
||||
@ -3,10 +3,10 @@
|
||||
<div class="part-div-header">
|
||||
<span class="part-div-header-title">总体摘要</span>
|
||||
<Tooltip position="tl" title="于筛选出来的投流账户/计划的情况生成的总体描述。">
|
||||
<icon-question-circle />
|
||||
<SvgIcon name="xt-question-circle" size="16" class="color-#737478"/>
|
||||
</Tooltip>
|
||||
<span @click="copyData" class="copybtn">
|
||||
<icon-copy :style="{ fontSize: '14px' }" />
|
||||
<SvgIcon name="xt-copy" :style="{ fontSize: '14px' }" />
|
||||
复制
|
||||
</span>
|
||||
</div>
|
||||
@ -24,7 +24,6 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||
import { defineProps } from 'vue';
|
||||
import { Space, message, Tooltip } from "ant-design-vue"
|
||||
|
||||
|
||||