feat: message替换
This commit is contained in:
@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||||
import { handleUserLogout, goUserLogin } from '@/utils/user';
|
import { handleUserLogout, goUserLogin } from '@/utils/user';
|
||||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||||
@ -84,7 +85,7 @@ export class Request {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
AMessage.error(errMessage);
|
message.error(errMessage);
|
||||||
return Promise.reject(err.response);
|
return Promise.reject(err.response);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Modal from '@components/modal.vue';
|
import Modal from '@components/modal.vue';
|
||||||
import { ref, onMounted } from 'vue';
|
import { ref, onMounted } from 'vue';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
import { getQueryParam } from '@/utils/helper';
|
import { getQueryParam } from '@/utils/helper';
|
||||||
|
|
||||||
import { getEnterpriseByInviteCode, joinEnterpriseByInviteCode } from '@/api/all';
|
import { getEnterpriseByInviteCode, joinEnterpriseByInviteCode } from '@/api/all';
|
||||||
@ -26,7 +27,7 @@ async function getEnterprise() {
|
|||||||
|
|
||||||
async function handleJoin() {
|
async function handleJoin() {
|
||||||
await joinEnterpriseByInviteCode(inviteCode.value);
|
await joinEnterpriseByInviteCode(inviteCode.value);
|
||||||
AMessage.success('加入成功');
|
message.success('加入成功');
|
||||||
}
|
}
|
||||||
// onMounted(() => {
|
// onMounted(() => {
|
||||||
// getEnterprise();
|
// getEnterprise();
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Modal, Button } from 'ant-design-vue';
|
import { Modal, Button, message } from 'ant-design-vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { fetchLogOut } from '@/api/all/login';
|
import { fetchLogOut } from '@/api/all/login';
|
||||||
import { handleUserLogout } from '@/utils/user';
|
import { handleUserLogout } from '@/utils/user';
|
||||||
@ -46,7 +46,7 @@ async function onLogout() {
|
|||||||
const { code } = await fetchLogOut();
|
const { code } = await fetchLogOut();
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
handleUserLogout();
|
handleUserLogout();
|
||||||
AMessage.success('退出登录成功');
|
message.success('退出登录成功');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Modal, Button } from 'ant-design-vue';
|
import { Modal, Button, message } from 'ant-design-vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { deleteTask, deleteBatchTasks } from '@/api/all/common';
|
import { deleteTask, deleteBatchTasks } from '@/api/all/common';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
@ -52,7 +52,7 @@ async function onDelete() {
|
|||||||
|
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
isBatch.value ? emits('batchUpdate') : emits('update');
|
isBatch.value ? emits('batchUpdate') : emits('update');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { ref, computed } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { Button, Checkbox, Input, Tooltip, Table, Pagination } from 'ant-design-vue';
|
import { Button, Checkbox, Input, Tooltip, Table, Pagination, message } from 'ant-design-vue';
|
||||||
import { Notification } from '@arco-design/web-vue';
|
import { Notification } from '@arco-design/web-vue';
|
||||||
import { IconSearch, IconClose, IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
import { IconSearch, IconClose, IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ export default {
|
|||||||
notificationId && Notification.remove(notificationId);
|
notificationId && Notification.remove(notificationId);
|
||||||
|
|
||||||
if (status === 1) {
|
if (status === 1) {
|
||||||
AMessage.success('批量下载已完成,正在下载文件...');
|
message.success('批量下载已完成,正在下载文件...');
|
||||||
downloadByUrl(file);
|
downloadByUrl(file);
|
||||||
} else if (status === 2) {
|
} else if (status === 2) {
|
||||||
const onReDownload = () => {
|
const onReDownload = () => {
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Modal, Button } from 'ant-design-vue';
|
import { Modal, Button, message } from 'ant-design-vue';
|
||||||
import { deleteTask, deleteBatchTasks } from '@/api/all/common';
|
import { deleteTask, deleteBatchTasks } from '@/api/all/common';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ async function onDelete() {
|
|||||||
const _params = isBatch.value ? { ids: taskId.value } : taskId.value;
|
const _params = isBatch.value ? { ids: taskId.value } : taskId.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
isBatch.value ? emits('batchUpdate') : emits('update');
|
isBatch.value ? emits('batchUpdate') : emits('update');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* @Date: 2025-06-22 22:59:16
|
* @Date: 2025-06-22 22:59:16
|
||||||
*/
|
*/
|
||||||
import type { Router } from 'vue-router';
|
import type { Router } from 'vue-router';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
import NProgress from 'nprogress';
|
import NProgress from 'nprogress';
|
||||||
import { goUserLogin } from '@/utils/user';
|
import { goUserLogin } from '@/utils/user';
|
||||||
// import router from '@/router';
|
// import router from '@/router';
|
||||||
@ -29,7 +30,7 @@ export default function setupUserLoginInfoGuard(router: Router) {
|
|||||||
// if (requiresAuth) {
|
// if (requiresAuth) {
|
||||||
// const hasPermission = checkRoutePermission(routeName);
|
// const hasPermission = checkRoutePermission(routeName);
|
||||||
// if (!hasPermission) {
|
// if (!hasPermission) {
|
||||||
// AMessage.error('您没有权限访问该页面');
|
// message.error('您没有权限访问该页面');
|
||||||
// next('/');
|
// next('/');
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
|||||||
@ -1,11 +1,18 @@
|
|||||||
.ant-input,
|
@mixin box {
|
||||||
.ant-input-password {
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
border-radius: 4px !important;
|
border-radius: 4px !important;
|
||||||
border-color: #d7d7d9 !important;
|
border-color: #d7d7d9 !important;
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
padding: 0 12px;
|
padding: 0 12px;
|
||||||
display: flex;
|
}
|
||||||
align-items: center;
|
.ant-input-affix-wrapper {
|
||||||
|
@include box;
|
||||||
|
}
|
||||||
|
.ant-input,
|
||||||
|
.ant-input-password {
|
||||||
|
@include box;
|
||||||
|
|
||||||
color: var(--Text-4, #211f24);
|
color: var(--Text-4, #211f24);
|
||||||
font-family: $font-family-regular;
|
font-family: $font-family-regular;
|
||||||
font-size: 14px !important;
|
font-size: 14px !important;
|
||||||
|
|||||||
@ -116,7 +116,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive } from 'vue';
|
import { ref, reactive } from 'vue';
|
||||||
import { Modal } from 'ant-design-vue';
|
import { Modal, Tooltip, message } from 'ant-design-vue';
|
||||||
import DynamicForm from './components/DynamicForm.vue';
|
import DynamicForm from './components/DynamicForm.vue';
|
||||||
import {
|
import {
|
||||||
executeWorkFlow,
|
executeWorkFlow,
|
||||||
@ -132,7 +132,6 @@ import { marked } from 'marked';
|
|||||||
import DOMPurify from 'dompurify';
|
import DOMPurify from 'dompurify';
|
||||||
import menuFold from '@/assets/svg/menu-fold.svg';
|
import menuFold from '@/assets/svg/menu-fold.svg';
|
||||||
import menuUnfold from '@/assets/svg/menu-unfold.svg';
|
import menuUnfold from '@/assets/svg/menu-unfold.svg';
|
||||||
import { Tooltip } from 'ant-design-vue';
|
|
||||||
import { formatNumberShow } from '@/utils/tools';
|
import { formatNumberShow } from '@/utils/tools';
|
||||||
// import { WORKEXECUTE_STATUS } from '../AgentConstants.ts';
|
// import { WORKEXECUTE_STATUS } from '../AgentConstants.ts';
|
||||||
|
|
||||||
@ -216,17 +215,17 @@ const handleTop = async (id, sort, event) => {
|
|||||||
|
|
||||||
//置顶
|
//置顶
|
||||||
const topHistory = async (id, sort) => {
|
const topHistory = async (id, sort) => {
|
||||||
const { code, message } = await topWorkflowHistoryApi(id);
|
const { code, message: msg } = await topWorkflowHistoryApi(id);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(message);
|
message.success(msg);
|
||||||
getWorkflowHistoryList();
|
getWorkflowHistoryList();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//取消置顶
|
//取消置顶
|
||||||
const canceltopHistory = async (id, sort) => {
|
const canceltopHistory = async (id, sort) => {
|
||||||
const { code, message } = await cancelTopWorkflowHistoryApi(id);
|
const { code, message: msg } = await cancelTopWorkflowHistoryApi(id);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(message);
|
message.success(msg);
|
||||||
getWorkflowHistoryList();
|
getWorkflowHistoryList();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -125,7 +125,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Checkbox, Modal, Button, Form, FormItem, Input, Space } from 'ant-design-vue';
|
import { Checkbox, Modal, Button, Form, FormItem, Input, Space, message } from 'ant-design-vue';
|
||||||
import PuzzleVerification from './components/PuzzleVerification.vue';
|
import PuzzleVerification from './components/PuzzleVerification.vue';
|
||||||
import { fetchLoginCaptCha, fetchAuthorizationsCaptcha, fetchProfileInfo } from '@/api/all/login';
|
import { fetchLoginCaptCha, fetchAuthorizationsCaptcha, fetchProfileInfo } from '@/api/all/login';
|
||||||
import { joinEnterpriseByInviteCode } from '@/api/all';
|
import { joinEnterpriseByInviteCode } from '@/api/all';
|
||||||
@ -251,9 +251,9 @@ const handleVerificationSubmit = async () => {
|
|||||||
startCountdown();
|
startCountdown();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { code, message } = await fetchLoginCaptCha({ mobile: loginForm.mobile });
|
const { code, message: msg } = await fetchLoginCaptCha({ mobile: loginForm.mobile });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(message);
|
message.success(msg);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 重置倒计时
|
// 重置倒计时
|
||||||
@ -291,7 +291,7 @@ const handleSubmit = async () => {
|
|||||||
await formRef.value.validate();
|
await formRef.value.validate();
|
||||||
|
|
||||||
if (!hasCheck.value) {
|
if (!hasCheck.value) {
|
||||||
AMessage.error('请先勾选同意用户协议');
|
message.error('请先勾选同意用户协议');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,14 +300,14 @@ const handleSubmit = async () => {
|
|||||||
|
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
// 处理登录成功逻辑
|
// 处理登录成功逻辑
|
||||||
AMessage.success(isLogin.value ? '登录成功' : '注册成功');
|
message.success(isLogin.value ? '登录成功' : '注册成功');
|
||||||
userStore.setToken(data.access_token);
|
userStore.setToken(data.access_token);
|
||||||
|
|
||||||
const { invite_code } = route.query;
|
const { invite_code } = route.query;
|
||||||
if (invite_code) {
|
if (invite_code) {
|
||||||
const { code } = await joinEnterpriseByInviteCode(invite_code as string);
|
const { code } = await joinEnterpriseByInviteCode(invite_code as string);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('加入企业成功');
|
message.success('加入企业成功');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, reactive, computed } from 'vue';
|
import { ref, onMounted, reactive, computed } from 'vue';
|
||||||
import { Button, Table } from 'ant-design-vue';
|
import { Button, Table, message } from 'ant-design-vue';
|
||||||
|
|
||||||
import { fetchSubAccountPage, removeEnterpriseAccount, getEnterpriseInviteCode } from '@/api/all';
|
import { fetchSubAccountPage, removeEnterpriseAccount, getEnterpriseInviteCode } from '@/api/all';
|
||||||
import Modal from '@/components/modal.vue';
|
import Modal from '@/components/modal.vue';
|
||||||
@ -158,13 +158,13 @@ function handleOk() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!isSupported) {
|
if (!isSupported) {
|
||||||
AMessage.error('您的浏览器不支持复制,请手动复制!');
|
message.error('您的浏览器不支持复制,请手动复制!');
|
||||||
}
|
}
|
||||||
copy(inviteUrl.value);
|
copy(inviteUrl.value);
|
||||||
if (!copied) {
|
if (!copied) {
|
||||||
AMessage.error('复制失败,请手动复制!');
|
message.error('复制失败,请手动复制!');
|
||||||
}
|
}
|
||||||
AMessage.success('复制成功!');
|
message.success('复制成功!');
|
||||||
}
|
}
|
||||||
|
|
||||||
function openDeleteModal(record: { id: number; mobile: string }) {
|
function openDeleteModal(record: { id: number; mobile: string }) {
|
||||||
@ -175,7 +175,7 @@ function openDeleteModal(record: { id: number; mobile: string }) {
|
|||||||
|
|
||||||
async function handleDelete() {
|
async function handleDelete() {
|
||||||
await removeEnterpriseAccount(currentSelectAccount.value.id);
|
await removeEnterpriseAccount(currentSelectAccount.value.id);
|
||||||
AMessage.success('移除成功!');
|
message.success('移除成功!');
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Button, Form, FormItem, Input, Table } from 'ant-design-vue';
|
import { Button, Form, FormItem, Input, Table, message } from 'ant-design-vue';
|
||||||
import Container from '@/components/container.vue';
|
import Container from '@/components/container.vue';
|
||||||
import Modal from '@/components/modal.vue';
|
import Modal from '@/components/modal.vue';
|
||||||
import { ref, reactive, computed } from 'vue';
|
import { ref, reactive, computed } from 'vue';
|
||||||
@ -122,7 +122,7 @@ async function handleOk() {
|
|||||||
await updateEnterpriseName({ name: form.name });
|
await updateEnterpriseName({ name: form.name });
|
||||||
store.setEnterpriseName(form.name);
|
store.setEnterpriseName(form.name);
|
||||||
store.incUsedUpdateNameCount();
|
store.incUsedUpdateNameCount();
|
||||||
AMessage.success('修改成功!');
|
message.success('修改成功!');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -85,7 +85,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Button, Form, FormItem, Input, Table } from 'ant-design-vue';
|
import { Button, Form, FormItem, Input, Table, message } from 'ant-design-vue';
|
||||||
import Container from '@/components/container.vue';
|
import Container from '@/components/container.vue';
|
||||||
import Modal from '@/components/modal.vue';
|
import Modal from '@/components/modal.vue';
|
||||||
import PuzzleVerification from '@/views/components/login/components/PuzzleVerification.vue';
|
import PuzzleVerification from '@/views/components/login/components/PuzzleVerification.vue';
|
||||||
@ -208,7 +208,7 @@ function openEditMobileModal() {
|
|||||||
|
|
||||||
async function handleSubmitUserInfo() {
|
async function handleSubmitUserInfo() {
|
||||||
await updateMyInfo(userInfoForm);
|
await updateMyInfo(userInfoForm);
|
||||||
AMessage.success('修改成功!');
|
message.success('修改成功!');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function sendCaptcha() {
|
async function sendCaptcha() {
|
||||||
@ -218,7 +218,7 @@ async function sendCaptcha() {
|
|||||||
verificationVisible.value = true;
|
verificationVisible.value = true;
|
||||||
isSendCaptcha.value = true;
|
isSendCaptcha.value = true;
|
||||||
}
|
}
|
||||||
AMessage.error('请填写正确的手机号!');
|
message.error('请填写正确的手机号!');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('手机号验证失败:', error);
|
console.log('手机号验证失败:', error);
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ function beginCountdown() {
|
|||||||
|
|
||||||
async function handleVerificationSubmit() {
|
async function handleVerificationSubmit() {
|
||||||
await sendUpdateMobileCaptcha({ mobile: form.mobile });
|
await sendUpdateMobileCaptcha({ mobile: form.mobile });
|
||||||
AMessage.success('发送成功');
|
message.success('发送成功');
|
||||||
verificationVisible.value = false;
|
verificationVisible.value = false;
|
||||||
countdown.value = 60;
|
countdown.value = 60;
|
||||||
beginCountdown();
|
beginCountdown();
|
||||||
@ -244,13 +244,13 @@ async function handleVerificationSubmit() {
|
|||||||
|
|
||||||
async function handleUpdateMobile() {
|
async function handleUpdateMobile() {
|
||||||
if (!isSendCaptcha.value) {
|
if (!isSendCaptcha.value) {
|
||||||
AMessage.error('请先获取验证码!');
|
message.error('请先获取验证码!');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const res = await formRef.value.validate();
|
const res = await formRef.value.validate();
|
||||||
if (res === true || res === undefined) {
|
if (res === true || res === undefined) {
|
||||||
await updateMobile(form);
|
await updateMobile(form);
|
||||||
AMessage.success('修改成功!');
|
message.success('修改成功!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -73,7 +73,7 @@ import { now } from '@vueuse/core';
|
|||||||
import { trialProduct } from '@/api/all';
|
import { trialProduct } from '@/api/all';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import CustomerServiceModal from '@/components/customer-service-modal.vue';
|
import CustomerServiceModal from '@/components/customer-service-modal.vue';
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
|
|
||||||
import { useSidebarStore } from '@/stores/modules/side-bar';
|
import { useSidebarStore } from '@/stores/modules/side-bar';
|
||||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||||
@ -113,7 +113,7 @@ const handleTrial = async (id: any) => {
|
|||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
getUserEnterpriseInfo();
|
getUserEnterpriseInfo();
|
||||||
|
|
||||||
AMessage.success('试用成功!');
|
message.success('试用成功!');
|
||||||
emit('refresh');
|
emit('refresh');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Modal, Button } from 'ant-design-vue';
|
import { Modal, Button, message } from 'ant-design-vue';
|
||||||
import { deleteHistoryItem } from '@/api/all/chat';
|
import { deleteHistoryItem } from '@/api/all/chat';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteHistoryItem(conversationId.value);
|
const { code } = await deleteHistoryItem(conversationId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
emits('delete', conversationId.value);
|
emits('delete', conversationId.value);
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteWork } from '@/api/all/generationWorkshop';
|
import { deleteWork } from '@/api/all/generationWorkshop';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteWork(projectId.value);
|
const { code } = await deleteWork(projectId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
update()
|
update()
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,8 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx" setup>
|
<script lang="jsx" setup>
|
||||||
import { Button, Pagination } from 'ant-design-vue';
|
import { Button, Pagination, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import FilterBlock from './components/filter-block';
|
import FilterBlock from './components/filter-block';
|
||||||
import ManuscriptCheckTable from './components/manuscript-check-table';
|
import ManuscriptCheckTable from './components/manuscript-check-table';
|
||||||
import DeleteManuscriptModal from './components/manuscript-check-table/delete-manuscript-modal.vue';
|
import DeleteManuscriptModal from './components/manuscript-check-table/delete-manuscript-modal.vue';
|
||||||
@ -135,7 +134,7 @@ const handleSorterChange = (column, order) => {
|
|||||||
};
|
};
|
||||||
const handleBatchCheck = () => {
|
const handleBatchCheck = () => {
|
||||||
if (!selectedRows.value.length) {
|
if (!selectedRows.value.length) {
|
||||||
AMessage.warning('请选择需审核的内容稿件');
|
message.warning('请选择需审核的内容稿件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,7 +145,7 @@ const handleBatchCheck = () => {
|
|||||||
};
|
};
|
||||||
const handleBatchView = () => {
|
const handleBatchView = () => {
|
||||||
if (!selectedRows.value.length) {
|
if (!selectedRows.value.length) {
|
||||||
AMessage.warning('请选择需查看的内容稿件');
|
message.warning('请选择需查看的内容稿件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Swiper, SwiperSlide } from 'swiper/vue';
|
import { Swiper, SwiperSlide } from 'swiper/vue';
|
||||||
import { Button, Form, Input, FormItem, Tabs } from 'ant-design-vue';
|
import { Button, Form, Input, FormItem, Tabs, message } from 'ant-design-vue';
|
||||||
import { IconLoading } from '@arco-design/web-vue/es/icon';
|
import { IconLoading } from '@arco-design/web-vue/es/icon';
|
||||||
import { Image, Upload, Spin, Message as AMessage } from '@arco-design/web-vue';
|
import { Image, Upload, Spin } from '@arco-design/web-vue';
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
import HighlightTextarea from './highlight-textarea';
|
import HighlightTextarea from './highlight-textarea';
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ export default {
|
|||||||
|
|
||||||
const onAgainCheck = () => {
|
const onAgainCheck = () => {
|
||||||
if (!isTextTab.value && !props.modelValue.files?.length) {
|
if (!isTextTab.value && !props.modelValue.files?.length) {
|
||||||
AMessage.warning('请先上传需审核图片');
|
message.warning('请先上传需审核图片');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
emit('againCheck');
|
emit('againCheck');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage, Spin } from '@arco-design/web-vue';
|
import { Spin } from '@arco-design/web-vue';
|
||||||
import CancelCheckModal from './cancel-check-modal.vue';
|
import CancelCheckModal from './cancel-check-modal.vue';
|
||||||
import CheckSuccessModal from './check-success-modal.vue';
|
import CheckSuccessModal from './check-success-modal.vue';
|
||||||
import HeaderCard from './components/header-card';
|
import HeaderCard from './components/header-card';
|
||||||
@ -136,14 +136,14 @@ export default {
|
|||||||
};
|
};
|
||||||
const onSave = async () => {
|
const onSave = async () => {
|
||||||
if (!selectCardInfo.value.title) {
|
if (!selectCardInfo.value.title) {
|
||||||
AMessage.warning('标题不能为空');
|
message.warning('标题不能为空');
|
||||||
}
|
}
|
||||||
|
|
||||||
contentCardRef.value?.validate().then(async () => {
|
contentCardRef.value?.validate().then(async () => {
|
||||||
const { code, data } = await putWorkAuditsUpdate(selectCardInfo.value);
|
const { code, data } = await putWorkAuditsUpdate(selectCardInfo.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
isSaved.value = true;
|
isSaved.value = true;
|
||||||
AMessage.success('当前内容稿件已保存');
|
message.success('当前内容稿件已保存');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Button, Form, FormItem, Input } from 'ant-design-vue';
|
import { Button, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
import { Upload, Message as AMessage } from '@arco-design/web-vue';
|
import { Upload } from '@arco-design/web-vue';
|
||||||
// import CommonSelect from '@/components/common-select';
|
// import CommonSelect from '@/components/common-select';
|
||||||
// import { VueDraggable } from 'vue-draggable-plus';
|
// import { VueDraggable } from 'vue-draggable-plus';
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
@ -170,7 +170,7 @@ export default {
|
|||||||
|
|
||||||
// 验证文件数量
|
// 验证文件数量
|
||||||
if (formData.value.files?.length >= 18) {
|
if (formData.value.files?.length >= 18) {
|
||||||
AMessage.error('最多只能上传18张图片!');
|
message.error('最多只能上传18张图片!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const { name, size, type } = file;
|
const { name, size, type } = file;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button, Modal, Form, FormItem, Input, Tooltip } from 'ant-design-vue';
|
import { Button, Modal, Form, FormItem, Input, Tooltip, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import CommonSelect from '@/components/common-select';
|
import CommonSelect from '@/components/common-select';
|
||||||
|
|
||||||
import { useClipboard } from '@vueuse/core';
|
import { useClipboard } from '@vueuse/core';
|
||||||
@ -77,7 +76,7 @@ export default {
|
|||||||
path: `/explore/list/${data.code}`,
|
path: `/explore/list/${data.code}`,
|
||||||
}).href;
|
}).href;
|
||||||
copy(generateFullUrl(url));
|
copy(generateFullUrl(url));
|
||||||
AMessage.success('链接已复制!');
|
message.success('链接已复制!');
|
||||||
emit('close');
|
emit('close');
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Modal, Button, Form, FormItem, RadioGroup, Radio, Input } from 'ant-design-vue';
|
import { Modal, Button, Form, FormItem, RadioGroup, Radio, Input, message } from 'ant-design-vue';
|
||||||
import { Upload, Message as AMessage } from '@arco-design/web-vue';
|
import { Upload } from '@arco-design/web-vue';
|
||||||
import { useClipboard } from '@vueuse/core';
|
import { useClipboard } from '@vueuse/core';
|
||||||
import { getWriterLinksGenerate, getTemplateUrl, postWorksByLink, postWorksByFile } from '@/api/all/generationWorkshop';
|
import { getWriterLinksGenerate, getTemplateUrl, postWorksByLink, postWorksByFile } from '@/api/all/generationWorkshop';
|
||||||
import { generateFullUrl } from '@/utils/tools';
|
import { generateFullUrl } from '@/utils/tools';
|
||||||
@ -130,19 +130,19 @@ export default {
|
|||||||
// 手写提交处理
|
// 手写提交处理
|
||||||
const handleHandwriteSubmit = () => {
|
const handleHandwriteSubmit = () => {
|
||||||
if (!form.value.writerLink) {
|
if (!form.value.writerLink) {
|
||||||
AMessage.warning('请输入上传链接!');
|
message.warning('请输入上传链接!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
copy(form.value.writerLink);
|
copy(form.value.writerLink);
|
||||||
AMessage.success('复制成功!');
|
message.success('复制成功!');
|
||||||
onClose();
|
onClose();
|
||||||
};
|
};
|
||||||
|
|
||||||
// 取消上传
|
// 取消上传
|
||||||
const onCancelUpload = () => {
|
const onCancelUpload = () => {
|
||||||
taskStatus.value = TASK_STATUS.DEFAULT;
|
taskStatus.value = TASK_STATUS.DEFAULT;
|
||||||
AMessage.info('已取消上传');
|
message.info('已取消上传');
|
||||||
};
|
};
|
||||||
|
|
||||||
// 文件上传处理
|
// 文件上传处理
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button, Message as AMessage, Spin } from '@arco-design/web-vue';
|
import { Spin } from '@arco-design/web-vue';
|
||||||
|
import { Button, message } from 'ant-design-vue';
|
||||||
|
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { AuditStatus } from '@/views/material-center/components/finished-products/constants';
|
import { AuditStatus } from '@/views/material-center/components/finished-products/constants';
|
||||||
@ -119,12 +120,12 @@ export default {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Button size="medium" type="outline" class="mr-12px" onClick={onBack}>
|
<Button type="primary" ghost class="mr-12px" onClick={onBack}>
|
||||||
退出
|
退出
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size="medium"
|
type="primary"
|
||||||
type="outline"
|
ghost
|
||||||
class="mr-12px"
|
class="mr-12px"
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
router.push({
|
router.push({
|
||||||
@ -138,7 +139,7 @@ export default {
|
|||||||
编辑
|
编辑
|
||||||
</Button>
|
</Button>
|
||||||
{audit_status !== AuditStatus.Passed && (
|
{audit_status !== AuditStatus.Passed && (
|
||||||
<Button type="primary" size="medium" onClick={_fn}>
|
<Button type="primary" onClick={_fn}>
|
||||||
去审核
|
去审核
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button, Message as AMessage } from '@arco-design/web-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
||||||
import CancelEditModal from './cancel-edit-modal.vue';
|
import CancelEditModal from './cancel-edit-modal.vue';
|
||||||
|
|
||||||
@ -43,14 +43,14 @@ export default {
|
|||||||
const onSave = async (check = false) => {
|
const onSave = async (check = false) => {
|
||||||
formRef.value?.validate().then(async () => {
|
formRef.value?.validate().then(async () => {
|
||||||
if (dataSource.value.videoInfo.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING) {
|
if (dataSource.value.videoInfo.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING) {
|
||||||
AMessage.warning('有视频正在上传中,请等待上传完成后再提交');
|
message.warning('有视频正在上传中,请等待上传完成后再提交');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const filteredWorks = omit(dataSource.value, 'videoInfo');
|
const filteredWorks = omit(dataSource.value, 'videoInfo');
|
||||||
const { code, data } = await putWorksUpdate({ id: workId.value, ...filteredWorks });
|
const { code, data } = await putWorksUpdate({ id: workId.value, ...filteredWorks });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('保存成功');
|
message.success('保存成功');
|
||||||
isSaved.value = true;
|
isSaved.value = true;
|
||||||
|
|
||||||
if (check) {
|
if (check) {
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteWork } from '@/api/all/generationWorkshop';
|
import { deleteWork } from '@/api/all/generationWorkshop';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteWork(projectId.value);
|
const { code } = await deleteWork(projectId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
update();
|
update();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
||||||
import CancelUploadModal from './cancel-upload-modal.vue';
|
import CancelUploadModal from './cancel-upload-modal.vue';
|
||||||
@ -46,7 +45,7 @@ export default {
|
|||||||
(item) => item.videoInfo?.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING,
|
(item) => item.videoInfo?.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING,
|
||||||
);
|
);
|
||||||
if (uploadingVideos.length > 0) {
|
if (uploadingVideos.length > 0) {
|
||||||
AMessage.warning(`有 ${uploadingVideos.length} 个视频正在上传中,请等待上传完成后再提交`);
|
message.warning(`有 ${uploadingVideos.length} 个视频正在上传中,请等待上传完成后再提交`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,7 +59,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (errorDataCards.value.length > 0) {
|
if (errorDataCards.value.length > 0) {
|
||||||
AMessage.warning(`有 ${errorDataCards.value.length} 个必填信息未填写,请检查`);
|
message.warning(`有 ${errorDataCards.value.length} 个必填信息未填写,请检查`);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const el = document.getElementById(`card-${errorDataCards.value[0]?.id}`);
|
const el = document.getElementById(`card-${errorDataCards.value[0]?.id}`);
|
||||||
@ -80,7 +79,7 @@ export default {
|
|||||||
if (action === 'batchUpload') {
|
if (action === 'batchUpload') {
|
||||||
uploadSuccessModal.value?.open(data);
|
uploadSuccessModal.value?.open(data);
|
||||||
} else {
|
} else {
|
||||||
AMessage.success('上传成功');
|
message.success('上传成功');
|
||||||
if (action === 'uploadAndCheck') {
|
if (action === 'uploadAndCheck') {
|
||||||
slsWithCatch('manuscriptCheckIds', data);
|
slsWithCatch('manuscriptCheckIds', data);
|
||||||
router.push({ name: 'ManuscriptCheck' });
|
router.push({ name: 'ManuscriptCheck' });
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteRawMaterial, batchDeleteRawMaterials } from '@/api/all/generationWorkshop';
|
import { deleteRawMaterial, batchDeleteRawMaterials } from '@/api/all/generationWorkshop';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ async function onDelete() {
|
|||||||
const _params = isBatch.value ? { ids: fileId.value } : fileId.value;
|
const _params = isBatch.value ? { ids: fileId.value } : fileId.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
isBatch.value ? emits('batchUpdate') : emits('update');
|
isBatch.value ? emits('batchUpdate') : emits('update');
|
||||||
|
|
||||||
onClose();
|
onClose();
|
||||||
|
|||||||
@ -126,9 +126,8 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, reactive, onMounted } from 'vue';
|
import { ref, computed, reactive, onMounted } from 'vue';
|
||||||
import { Message } from '@arco-design/web-vue';
|
|
||||||
import { IconDelete } from '@arco-design/web-vue/es/icon';
|
import { IconDelete } from '@arco-design/web-vue/es/icon';
|
||||||
import { Button, Modal, Space, Form, FormItem, Pagination, Input, Table } from 'ant-design-vue';
|
import { Button, Modal, Space, Form, FormItem, Pagination, Input, Table, message } from 'ant-design-vue';
|
||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -208,7 +207,7 @@ const onPageChange = (current, pageSize) => {
|
|||||||
const deleteBrand = (id) => {
|
const deleteBrand = (id) => {
|
||||||
console.log(id, 'id');
|
console.log(id, 'id');
|
||||||
deleteMaterials(id).then(() => {
|
deleteMaterials(id).then(() => {
|
||||||
Message.success('删除成功');
|
message.success('删除成功');
|
||||||
handleSearch();
|
handleSearch();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -233,12 +232,12 @@ function handleModalOk() {
|
|||||||
.then((valid) => {
|
.then((valid) => {
|
||||||
if (form.id) {
|
if (form.id) {
|
||||||
updateMaterials(form.id, form).then(() => {
|
updateMaterials(form.id, form).then(() => {
|
||||||
Message.success('修改成功');
|
message.success('修改成功');
|
||||||
handleSearch();
|
handleSearch();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addMaterials(form).then((response) => {
|
addMaterials(form).then((response) => {
|
||||||
Message.success('新增成功');
|
message.success('新增成功');
|
||||||
handleSearch();
|
handleSearch();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -246,7 +245,7 @@ function handleModalOk() {
|
|||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error('验证失败:', error);
|
console.error('验证失败:', error);
|
||||||
Message.error('请检查表单填写是否正确');
|
message.error('请检查表单填写是否正确');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Modal, Button } from 'ant-design-vue';
|
import { Modal, Button, message } from 'ant-design-vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { deleteMediaAccount, batchDeleteMediaAccounts } from '@/api/all/propertyMarketing';
|
import { deleteMediaAccount, batchDeleteMediaAccounts } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
@ -56,7 +56,7 @@ async function onDelete() {
|
|||||||
const _params = isBatch.value ? { ids: accountId.value } : accountId.value;
|
const _params = isBatch.value ? { ids: accountId.value } : accountId.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
isBatch.value ? emits('batchUpdate') : emits('update');
|
isBatch.value ? emits('batchUpdate') : emits('update');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { pausePatchAccount } from '@/api/all/propertyMarketing';
|
import { pausePatchAccount } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
@ -52,7 +52,7 @@ const open = (record) => {
|
|||||||
async function onConfirm() {
|
async function onConfirm() {
|
||||||
const { code } = await pausePatchAccount(accountId.value);
|
const { code } = await pausePatchAccount(accountId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('暂停成功');
|
message.success('暂停成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,10 +4,9 @@
|
|||||||
-->
|
-->
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { ref, computed } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { Button, Modal, Form, FormItem, RadioGroup, Radio, Input } from 'ant-design-vue';
|
import { Button, Modal, Form, FormItem, RadioGroup, Radio, Input, message, Tooltip } from 'ant-design-vue';
|
||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
import { Upload, Switch, Message as AMessage } from '@arco-design/web-vue';
|
import { Upload, Switch } from '@arco-design/web-vue';
|
||||||
import { Tooltip } from 'ant-design-vue';
|
|
||||||
import AuthorizedAccountModal from '../authorized-account-modal';
|
import AuthorizedAccountModal from '../authorized-account-modal';
|
||||||
// import ImportPromptModal from '../import-prompt-modal';
|
// import ImportPromptModal from '../import-prompt-modal';
|
||||||
import StatusBox from '@/views/property-marketing/media-account/components/status-select/status-box.tsx';
|
import StatusBox from '@/views/property-marketing/media-account/components/status-select/status-box.tsx';
|
||||||
@ -176,7 +175,7 @@ export default {
|
|||||||
const handleBatchImport = async () => {
|
const handleBatchImport = async () => {
|
||||||
try {
|
try {
|
||||||
if (!file.value) {
|
if (!file.value) {
|
||||||
AMessage.warning('请上传要导入的文件');
|
message.warning('请上传要导入的文件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,7 +221,7 @@ export default {
|
|||||||
const handleEditAccount = async () => {
|
const handleEditAccount = async () => {
|
||||||
const { code } = await putMediaAccounts({ id: id.value, ...form.value });
|
const { code } = await putMediaAccounts({ id: id.value, ...form.value });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('修改成功');
|
message.success('修改成功');
|
||||||
emit('update');
|
emit('update');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
@ -234,7 +233,7 @@ export default {
|
|||||||
}
|
}
|
||||||
formRef.value.validate().then(async () => {
|
formRef.value.validate().then(async () => {
|
||||||
if (isCustomCookie.value && !form.value.cookie) {
|
if (isCustomCookie.value && !form.value.cookie) {
|
||||||
AMessage.warning('请填写Cookie值');
|
message.warning('请填写Cookie值');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
isEdit.value ? handleEditAccount() : handleAddAccount();
|
isEdit.value ? handleEditAccount() : handleAddAccount();
|
||||||
@ -278,8 +277,8 @@ export default {
|
|||||||
model={form.value}
|
model={form.value}
|
||||||
rules={rules}
|
rules={rules}
|
||||||
layout="horizontal"
|
layout="horizontal"
|
||||||
labelCol={{ span: 5 }}
|
labelCol={{ span: 4 }}
|
||||||
wrapperCol={{ span: 19 }}
|
wrapperCol={{ span: 20 }}
|
||||||
>
|
>
|
||||||
{!isEdit.value && (
|
{!isEdit.value && (
|
||||||
<FormItem label="上传方式" required>
|
<FormItem label="上传方式" required>
|
||||||
|
|||||||
@ -94,8 +94,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { defineExpose, ref, computed } from 'vue';
|
import { defineExpose, ref, computed } from 'vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
|
||||||
import { getAuthorizedImage, getMediaAccountsAuthorizedStatus } from '@/api/all/propertyMarketing';
|
import { getAuthorizedImage, getMediaAccountsAuthorizedStatus } from '@/api/all/propertyMarketing';
|
||||||
import SyncDataModal from '../sync-data-modal';
|
import SyncDataModal from '../sync-data-modal';
|
||||||
|
|
||||||
@ -286,7 +285,7 @@ const handleOk = () => {
|
|||||||
|
|
||||||
// 二维码还在加载中
|
// 二维码还在加载中
|
||||||
if (modalState.value === MODAL_STATE.QR_LOADING) {
|
if (modalState.value === MODAL_STATE.QR_LOADING) {
|
||||||
AMessage.warning('二维码生成中,请稍等');
|
message.warning('二维码生成中,请稍等');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, computed } from 'vue';
|
import { ref, reactive, computed } from 'vue';
|
||||||
import { Modal, Form, FormItem, Radio, Tooltip, Button, Table } from 'ant-design-vue';
|
import { Modal, Form, FormItem, Radio, Tooltip, Button, Table, message } from 'ant-design-vue';
|
||||||
import { fetchAccountGroups, batchPutGroup } from '@/api/all/propertyMarketing';
|
import { fetchAccountGroups, batchPutGroup } from '@/api/all/propertyMarketing';
|
||||||
import CommonSelect from '@/components/common-select';
|
import CommonSelect from '@/components/common-select';
|
||||||
|
|
||||||
@ -121,12 +121,12 @@ const onClose = () => {
|
|||||||
const onSubmit = async () => {
|
const onSubmit = async () => {
|
||||||
if (isAllEdit.value) {
|
if (isAllEdit.value) {
|
||||||
if (form.group_id === null) {
|
if (form.group_id === null) {
|
||||||
AMessage.error('请选择分组');
|
message.error('请选择分组');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (accountGroupList.value.some((item) => item.group_id === null)) {
|
if (accountGroupList.value.some((item) => item.group_id === null)) {
|
||||||
AMessage.error('请选择分组');
|
message.error('请选择分组');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,7 +139,7 @@ const onSubmit = async () => {
|
|||||||
// 这里处理批量标签的提交逻辑
|
// 这里处理批量标签的提交逻辑
|
||||||
const { code } = await batchPutGroup({ media_accounts });
|
const { code } = await batchPutGroup({ media_accounts });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('设置分组成功');
|
message.success('设置分组成功');
|
||||||
emits('update');
|
emits('update');
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive } from 'vue';
|
import { ref, reactive } from 'vue';
|
||||||
import { Button, Form, FormItem, Modal, Radio, RadioGroup, Select, Table, Tooltip } from 'ant-design-vue';
|
import { Button, Form, FormItem, Modal, Radio, RadioGroup, Select, Table, Tooltip, message } from 'ant-design-vue';
|
||||||
import { fetchAccountTags, batchPutTag } from '@/api/all/propertyMarketing';
|
import { fetchAccountTags, batchPutTag } from '@/api/all/propertyMarketing';
|
||||||
|
|
||||||
import icon1 from '@/assets/img/icon-question.png';
|
import icon1 from '@/assets/img/icon-question.png';
|
||||||
@ -141,12 +141,12 @@ const onClose = () => {
|
|||||||
const onSubmit = async () => {
|
const onSubmit = async () => {
|
||||||
if (isAllEdit.value) {
|
if (isAllEdit.value) {
|
||||||
if (form.tags.length === 0) {
|
if (form.tags.length === 0) {
|
||||||
AMessage.error('请输入标签');
|
message.error('请输入标签');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (accountTagList.value.some((item) => item.tags.length === 0)) {
|
if (accountTagList.value.some((item) => item.tags.length === 0)) {
|
||||||
AMessage.error('请输入标签');
|
message.error('请输入标签');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ const onSubmit = async () => {
|
|||||||
console.log({ media_accounts });
|
console.log({ media_accounts });
|
||||||
const { code } = await batchPutTag({ media_accounts });
|
const { code } = await batchPutTag({ media_accounts });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('设置标签成功');
|
message.success('设置标签成功');
|
||||||
emits('update');
|
emits('update');
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, watch, nextTick } from 'vue';
|
import { ref, watch, nextTick } from 'vue';
|
||||||
import { Button, Modal, Form, FormItem, Input } from 'ant-design-vue';
|
import { Button, Modal, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
import { postAccountGroups, putGroup } from '@/api/all/propertyMarketing';
|
import { postAccountGroups, putGroup } from '@/api/all/propertyMarketing';
|
||||||
|
|
||||||
const emits = defineEmits(['success', 'close']);
|
const emits = defineEmits(['success', 'close']);
|
||||||
@ -68,7 +68,7 @@ async function onSubmit() {
|
|||||||
const _params = isEdit.value ? { id: groupId.value, ...form.value } : form.value;
|
const _params = isEdit.value ? { id: groupId.value, ...form.value } : form.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(isEdit.value ? '编辑成功' : '添加成功');
|
message.success(isEdit.value ? '编辑成功' : '添加成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteGroup } from '@/api/all/propertyMarketing';
|
import { deleteGroup } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteGroup(groupId.value);
|
const { code } = await deleteGroup(groupId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -112,8 +112,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { defineExpose, ref, computed } from 'vue';
|
import { defineExpose, ref, computed } from 'vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
|
||||||
import { getMediaAccountsAuthorizedStatus, getAuthorizedImage } from '@/api/all/propertyMarketing';
|
import { getMediaAccountsAuthorizedStatus, getAuthorizedImage } from '@/api/all/propertyMarketing';
|
||||||
import SyncDataModal from '../sync-data-modal';
|
import SyncDataModal from '../sync-data-modal';
|
||||||
|
|
||||||
@ -297,14 +296,14 @@ const handleRefreshQrCode = () => {
|
|||||||
const handleOk = () => {
|
const handleOk = () => {
|
||||||
// 二维码已过期
|
// 二维码已过期
|
||||||
if (modalState.value === MODAL_STATE.QR_EXPIRED) {
|
if (modalState.value === MODAL_STATE.QR_EXPIRED) {
|
||||||
AMessage.error('二维码已失效,请重新扫码');
|
message.error('二维码已失效,请重新扫码');
|
||||||
handleRefreshQrCode();
|
handleRefreshQrCode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 二维码还在加载中
|
// 二维码还在加载中
|
||||||
if (modalState.value === MODAL_STATE.QR_LOADING) {
|
if (modalState.value === MODAL_STATE.QR_LOADING) {
|
||||||
AMessage.warning('二维码生成中,请稍等');
|
message.warning('二维码生成中,请稍等');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, nextTick } from 'vue';
|
import { ref, nextTick } from 'vue';
|
||||||
import { Button, Modal, Form, FormItem, Input } from 'ant-design-vue';
|
import { Button, Modal, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
import { postAccountTags, putTag } from '@/api/all/propertyMarketing';
|
import { postAccountTags, putTag } from '@/api/all/propertyMarketing';
|
||||||
|
|
||||||
const emits = defineEmits(['success', 'close']);
|
const emits = defineEmits(['success', 'close']);
|
||||||
@ -65,7 +65,7 @@ async function onSubmit() {
|
|||||||
const _params = isEdit.value ? { id: tagId.value, ...form.value } : form.value;
|
const _params = isEdit.value ? { id: tagId.value, ...form.value } : form.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(isEdit.value ? '编辑成功' : '添加成功');
|
message.success(isEdit.value ? '编辑成功' : '添加成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { deleteTag } from '@/api/all/propertyMarketing';
|
import { deleteTag } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteTag(tagId.value);
|
const { code } = await deleteTag(tagId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteProject } from '@/api/all/propertyMarketing';
|
import { deleteProject } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteProject(projectId.value);
|
const { code } = await deleteProject(projectId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
update()
|
update()
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, watch, nextTick } from 'vue';
|
import { ref, watch, nextTick } from 'vue';
|
||||||
import { Button, Modal, Form, FormItem, Input } from 'ant-design-vue';
|
import { Button, Modal, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
import { postPlacementAccountProjectGroups, putPlacementAccountProjectGroups } from '@/api/all/propertyMarketing';
|
import { postPlacementAccountProjectGroups, putPlacementAccountProjectGroups } from '@/api/all/propertyMarketing';
|
||||||
|
|
||||||
const emits = defineEmits(['success', 'close']);
|
const emits = defineEmits(['success', 'close']);
|
||||||
@ -68,7 +68,7 @@ async function onSubmit() {
|
|||||||
const _params = isEdit.value ? { id: groupId.value, ...form.value } : form.value;
|
const _params = isEdit.value ? { id: groupId.value, ...form.value } : form.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success(isEdit.value ? '编辑成功' : '添加成功');
|
message.success(isEdit.value ? '编辑成功' : '添加成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deletePlacementAccountProjectGroups } from '@/api/all/propertyMarketing';
|
import { deletePlacementAccountProjectGroups } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deletePlacementAccountProjectGroups(groupId.value);
|
const { code } = await deletePlacementAccountProjectGroups(groupId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
emits('success');
|
emits('success');
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,9 +24,8 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
// 添加Modal导入
|
// 添加Modal导入
|
||||||
import { Modal } from 'ant-design-vue';
|
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message, Modal } from 'ant-design-vue';
|
||||||
import { deletePlacementAccount, batchDeletePlacementAccounts } from '@/api/all/propertyMarketing';
|
import { deletePlacementAccount, batchDeletePlacementAccounts } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ async function onDelete() {
|
|||||||
const _params = isBatch.value ? { ids: accountId.value } : accountId.value;
|
const _params = isBatch.value ? { ids: accountId.value } : accountId.value;
|
||||||
const { code } = await _fn(_params);
|
const { code } = await _fn(_params);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
emits('update', isBatch.value ? accountId.value : [accountId.value]);
|
emits('update', isBatch.value ? accountId.value : [accountId.value]);
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { pausePatchPlacementAccount } from '@/api/all/propertyMarketing';
|
import { pausePatchPlacementAccount } from '@/api/all/propertyMarketing';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ const open = (record) => {
|
|||||||
async function onConfirm() {
|
async function onConfirm() {
|
||||||
const { code } = await pausePatchPlacementAccount(accountId.value);
|
const { code } = await pausePatchPlacementAccount(accountId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('暂停成功');
|
message.success('暂停成功');
|
||||||
update();
|
update();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -155,7 +155,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { Modal, Form, FormItem, Button, Input, RadioGroup, Radio, Tooltip } from 'ant-design-vue';
|
import { Modal, Form, FormItem, Button, Input, RadioGroup, Radio, Tooltip, message } from 'ant-design-vue';
|
||||||
import { ref, defineEmits } from 'vue';
|
import { ref, defineEmits } from 'vue';
|
||||||
|
|
||||||
import AuthorizedAccountModal from '../authorized-account-modal';
|
import AuthorizedAccountModal from '../authorized-account-modal';
|
||||||
@ -300,7 +300,7 @@ const getAccountDetail = async () => {
|
|||||||
const handleBatchImport = async () => {
|
const handleBatchImport = async () => {
|
||||||
try {
|
try {
|
||||||
if (!file.value) {
|
if (!file.value) {
|
||||||
AMessage.warning('请上传要导入的文件');
|
message.warning('请上传要导入的文件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,7 +346,7 @@ const handleAdd = async () => {
|
|||||||
const handleEdit = async () => {
|
const handleEdit = async () => {
|
||||||
const { code } = await putPlacementAccounts({ id: id.value, ...form.value });
|
const { code } = await putPlacementAccounts({ id: id.value, ...form.value });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
isEdit.value && AMessage.success('修改成功');
|
isEdit.value && message.success('修改成功');
|
||||||
update();
|
update();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,8 +29,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
|
||||||
import { defineProps } from 'vue';
|
import { defineProps } from 'vue';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Space, message } from "ant-design-vue"
|
||||||
import { Space } from "ant-design-vue"
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
overview: {
|
overview: {
|
||||||
@ -80,7 +79,7 @@ const copyData = () => {
|
|||||||
navigator.clipboard
|
navigator.clipboard
|
||||||
.writeText(textToCopy)
|
.writeText(textToCopy)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
Message.success('已复制');
|
message.success('已复制');
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('复制失败:', err);
|
console.error('复制失败:', err);
|
||||||
|
|||||||
@ -63,10 +63,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Button, Space, Table } from 'ant-design-vue';
|
import { Button, Space, Table, message } from 'ant-design-vue';
|
||||||
import { IconDelete } from '@arco-design/web-vue/es/icon';
|
import { IconDelete } from '@arco-design/web-vue/es/icon';
|
||||||
import { PLATFORM_LIST } from '@/utils/platform';
|
import { PLATFORM_LIST } from '@/utils/platform';
|
||||||
import { Message } from '@arco-design/web-vue';
|
|
||||||
|
|
||||||
|
|
||||||
// hotTranslation.vue
|
// hotTranslation.vue
|
||||||
@ -85,7 +84,7 @@ const goDetail = async (id) => {
|
|||||||
|
|
||||||
const downLoad = (fileUrl) => {
|
const downLoad = (fileUrl) => {
|
||||||
if (isEmpty(fileUrl)) {
|
if (isEmpty(fileUrl)) {
|
||||||
Message.error('下载失败,文件不存在');
|
message.error('下载失败,文件不存在');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
@ -98,7 +97,7 @@ const downLoad = (fileUrl) => {
|
|||||||
const deleteData = async (id) => {
|
const deleteData = async (id) => {
|
||||||
const { code, message } = await deleteHistorylog(id);
|
const { code, message } = await deleteHistorylog(id);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
Message.success(message);
|
message.success(message);
|
||||||
emits('onSearch');
|
emits('onSearch');
|
||||||
console.log('onsearch');
|
console.log('onsearch');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,14 +74,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref } from 'vue';
|
import { reactive, ref } from 'vue';
|
||||||
import { Button, Space } from 'ant-design-vue';
|
import { Button, Space, message } from 'ant-design-vue';
|
||||||
import MonthData from './components/month-data/index.vue';
|
import MonthData from './components/month-data/index.vue';
|
||||||
import PlacementSuggestions from './components/placement-suggestions/index.vue';
|
import PlacementSuggestions from './components/placement-suggestions/index.vue';
|
||||||
import { PLATFORM_LIST } from '@/utils/platform';
|
import { PLATFORM_LIST } from '@/utils/platform';
|
||||||
import { getPlacementGuideDetail } from '@/api/all/propertyMarketing';
|
import { getPlacementGuideDetail } from '@/api/all/propertyMarketing';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { uploadPdf } from '@/views/property-marketing/put-account/investment-guidelines/constants';
|
import { uploadPdf } from '@/views/property-marketing/put-account/investment-guidelines/constants';
|
||||||
import { Message } from '@arco-design/web-vue';
|
|
||||||
|
|
||||||
const aiResult = reactive({
|
const aiResult = reactive({
|
||||||
optimization: [], // 投放建议优化
|
optimization: [], // 投放建议优化
|
||||||
@ -122,7 +121,7 @@ const downPage = async () => {
|
|||||||
document.body.removeChild(link);
|
document.body.removeChild(link);
|
||||||
exportLoading.value = false;
|
exportLoading.value = false;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
Message.error(error.message);
|
message.error(error.message);
|
||||||
exportLoading.value = false;
|
exportLoading.value = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteWorkWriter } from '@/api/all/generationWorkshop-writer.ts';
|
import { deleteWorkWriter } from '@/api/all/generationWorkshop-writer.ts';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteWorkWriter(writerCode.value, projectId.value);
|
const { code } = await deleteWorkWriter(writerCode.value, projectId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
update();
|
update();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,8 +61,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="jsx" setup>
|
<script lang="jsx" setup>
|
||||||
import { provide } from 'vue';
|
import { provide } from 'vue';
|
||||||
import { Button, Pagination } from 'ant-design-vue';
|
import { Button, Pagination, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import FilterBlock from './components/filter-block';
|
import FilterBlock from './components/filter-block';
|
||||||
import ManuscriptCheckTable from './components/manuscript-check-table';
|
import ManuscriptCheckTable from './components/manuscript-check-table';
|
||||||
import DeleteManuscriptModal from './components/manuscript-check-table/delete-manuscript-modal.vue';
|
import DeleteManuscriptModal from './components/manuscript-check-table/delete-manuscript-modal.vue';
|
||||||
@ -139,7 +138,7 @@ const handleSorterChange = (column, order) => {
|
|||||||
};
|
};
|
||||||
const handleBatchCheck = () => {
|
const handleBatchCheck = () => {
|
||||||
if (!selectedRows.value.length) {
|
if (!selectedRows.value.length) {
|
||||||
AMessage.warning('请选择需审核的内容稿件');
|
message.warning('请选择需审核的内容稿件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,7 +149,7 @@ const handleBatchCheck = () => {
|
|||||||
};
|
};
|
||||||
const handleBatchView = () => {
|
const handleBatchView = () => {
|
||||||
if (!selectedRows.value.length) {
|
if (!selectedRows.value.length) {
|
||||||
AMessage.warning('请选择需查看的内容稿件');
|
message.warning('请选择需查看的内容稿件');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,8 +6,8 @@ import { Button, Form, FormItem, Input, Tabs } from 'ant-design-vue';
|
|||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
const { TabPane } = Tabs;
|
const { TabPane } = Tabs;
|
||||||
|
|
||||||
import { IconLoading } from '@arco-design/web-vue/es/icon';
|
import { IconLoading, message } from '@arco-design/web-vue/es/icon';
|
||||||
import { Image, Upload, Spin, Message as AMessage } from '@arco-design/web-vue';
|
import { Image, Upload, Spin } from '@arco-design/web-vue';
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
|
|
||||||
import 'swiper/css';
|
import 'swiper/css';
|
||||||
@ -79,7 +79,7 @@ export default {
|
|||||||
|
|
||||||
const onAgainCheck = () => {
|
const onAgainCheck = () => {
|
||||||
if (!isTextTab.value && !props.modelValue.files?.length) {
|
if (!isTextTab.value && !props.modelValue.files?.length) {
|
||||||
AMessage.warning('请先上传需审核图片');
|
message.warning('请先上传需审核图片');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
emit('againCheck');
|
emit('againCheck');
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage, } from '@arco-design/web-vue';
|
|
||||||
import CancelCheckModal from './cancel-check-modal.vue';
|
import CancelCheckModal from './cancel-check-modal.vue';
|
||||||
import CheckSuccessModal from './check-success-modal.vue';
|
import CheckSuccessModal from './check-success-modal.vue';
|
||||||
import HeaderCard from './components/header-card';
|
import HeaderCard from './components/header-card';
|
||||||
@ -139,14 +138,14 @@ export default {
|
|||||||
};
|
};
|
||||||
const onSave = async () => {
|
const onSave = async () => {
|
||||||
if (!selectCardInfo.value.title) {
|
if (!selectCardInfo.value.title) {
|
||||||
AMessage.warning('标题不能为空');
|
message.warning('标题不能为空');
|
||||||
}
|
}
|
||||||
|
|
||||||
contentCardRef.value?.validate().then(async () => {
|
contentCardRef.value?.validate().then(async () => {
|
||||||
const { code, data } = await putWorkAuditsUpdateWriter(writerCode.value, selectCardInfo.value);
|
const { code, data } = await putWorkAuditsUpdateWriter(writerCode.value, selectCardInfo.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
isSaved.value = true;
|
isSaved.value = true;
|
||||||
AMessage.success('当前内容稿件已保存');
|
message.success('当前内容稿件已保存');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Button, Form, FormItem, Input } from 'ant-design-vue';
|
import { Button, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
import { Upload, Message as AMessage } from '@arco-design/web-vue';
|
import { Upload } from '@arco-design/web-vue';
|
||||||
import CommonSelect from '@/components/common-select';
|
import CommonSelect from '@/components/common-select';
|
||||||
import { VueDraggable } from 'vue-draggable-plus';
|
import { VueDraggable } from 'vue-draggable-plus';
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
@ -171,7 +171,7 @@ export default {
|
|||||||
|
|
||||||
// 验证文件数量
|
// 验证文件数量
|
||||||
if (formData.value.files?.length >= 18) {
|
if (formData.value.files?.length >= 18) {
|
||||||
AMessage.error('最多只能上传18张图片!');
|
message.error('最多只能上传18张图片!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const { name, size, type } = file;
|
const { name, size, type } = file;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Modal, Button, Form, FormItem, Input } from 'ant-design-vue';
|
import { Modal, Button, Form, FormItem, Input, message } from 'ant-design-vue';
|
||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
import { Upload, Message as AMessage } from '@arco-design/web-vue';
|
import { Upload } from '@arco-design/web-vue';
|
||||||
import {
|
import {
|
||||||
getTemplateUrlWriter,
|
getTemplateUrlWriter,
|
||||||
postWorksByLinkWriter,
|
postWorksByLinkWriter,
|
||||||
@ -115,7 +115,7 @@ export default {
|
|||||||
// 取消上传
|
// 取消上传
|
||||||
const onCancelUpload = () => {
|
const onCancelUpload = () => {
|
||||||
taskStatus.value = TASK_STATUS.DEFAULT;
|
taskStatus.value = TASK_STATUS.DEFAULT;
|
||||||
AMessage.info('已取消上传');
|
message.info('已取消上传');
|
||||||
};
|
};
|
||||||
|
|
||||||
// 文件上传处理
|
// 文件上传处理
|
||||||
@ -169,7 +169,7 @@ export default {
|
|||||||
if (!works.value.length) {
|
if (!works.value.length) {
|
||||||
taskStatus.value = TASK_STATUS.DEFAULT;
|
taskStatus.value = TASK_STATUS.DEFAULT;
|
||||||
}
|
}
|
||||||
// AMessage.success('删除成功');
|
// message.success('删除成功');
|
||||||
};
|
};
|
||||||
|
|
||||||
// 上传方式切换
|
// 上传方式切换
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button } from 'ant-design-vue';
|
||||||
import { Message as AMessage, Spin } from '@arco-design/web-vue';
|
import { Spin } from '@arco-design/web-vue';
|
||||||
|
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { AuditStatus } from '@/views/writer-material-center/components/finished-products/constants';
|
import { AuditStatus } from '@/views/writer-material-center/components/finished-products/constants';
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
||||||
import CancelEditModal from './cancel-edit-modal.vue';
|
import CancelEditModal from './cancel-edit-modal.vue';
|
||||||
|
|
||||||
@ -44,14 +43,14 @@ export default {
|
|||||||
const onSave = async (check = false) => {
|
const onSave = async (check = false) => {
|
||||||
formRef.value?.validate().then(async () => {
|
formRef.value?.validate().then(async () => {
|
||||||
if (dataSource.value.videoInfo.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING) {
|
if (dataSource.value.videoInfo.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING) {
|
||||||
AMessage.warning('有视频正在上传中,请等待上传完成后再提交');
|
message.warning('有视频正在上传中,请等待上传完成后再提交');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const filteredWorks = omit(dataSource.value, 'videoInfo');
|
const filteredWorks = omit(dataSource.value, 'videoInfo');
|
||||||
const { code, data } = await putWorksUpdateWriter(writerCode.value, { id: workId.value, ...filteredWorks });
|
const { code, data } = await putWorksUpdateWriter(writerCode.value, { id: workId.value, ...filteredWorks });
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('保存成功');
|
message.success('保存成功');
|
||||||
isSaved.value = true;
|
isSaved.value = true;
|
||||||
|
|
||||||
if (check) {
|
if (check) {
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Button, Modal } from 'ant-design-vue';
|
import { Button, Modal, message } from 'ant-design-vue';
|
||||||
import { deleteWorkWriter } from '@/api/all/generationWorkshop-writer.ts';
|
import { deleteWorkWriter } from '@/api/all/generationWorkshop-writer.ts';
|
||||||
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
import icon1 from '@/assets/img/media-account/icon-warn-1.png';
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ const open = (record) => {
|
|||||||
async function onDelete() {
|
async function onDelete() {
|
||||||
const { code } = await deleteWorkWriter(writerCode.value, projectId.value);
|
const { code } = await deleteWorkWriter(writerCode.value, projectId.value);
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
AMessage.success('删除成功');
|
message.success('删除成功');
|
||||||
update();
|
update();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { Button } from 'ant-design-vue';
|
import { Button, message } from 'ant-design-vue';
|
||||||
import { Message as AMessage } from '@arco-design/web-vue';
|
|
||||||
import TextOverTips from '@/components/text-over-tips';
|
import TextOverTips from '@/components/text-over-tips';
|
||||||
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
import EditForm, { ENUM_UPLOAD_STATUS, INITIAL_VIDEO_INFO } from '../components/edit-form';
|
||||||
import CancelUploadModal from './cancel-upload-modal.vue';
|
import CancelUploadModal from './cancel-upload-modal.vue';
|
||||||
@ -47,7 +46,7 @@ export default {
|
|||||||
(item) => item.videoInfo?.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING,
|
(item) => item.videoInfo?.uploadStatus === ENUM_UPLOAD_STATUS.UPLOADING,
|
||||||
);
|
);
|
||||||
if (uploadingVideos.length > 0) {
|
if (uploadingVideos.length > 0) {
|
||||||
AMessage.warning(`有 ${uploadingVideos.length} 个视频正在上传中,请等待上传完成后再提交`);
|
message.warning(`有 ${uploadingVideos.length} 个视频正在上传中,请等待上传完成后再提交`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +60,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (errorDataCards.value.length > 0) {
|
if (errorDataCards.value.length > 0) {
|
||||||
AMessage.warning(`有 ${errorDataCards.value.length} 个必填信息未填写,请检查`);
|
message.warning(`有 ${errorDataCards.value.length} 个必填信息未填写,请检查`);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const el = document.getElementById(`card-${errorDataCards.value[0]?.id}`);
|
const el = document.getElementById(`card-${errorDataCards.value[0]?.id}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user