Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
XieYongHong 2023-07-10 18:56:57 +08:00
commit 6596016642
138 changed files with 561 additions and 601 deletions

View File

@ -73,11 +73,11 @@
import { PropType } from 'vue';
import { DeleteOutlined, PlusOutlined } from '@ant-design/icons-vue';
import { useProductStore } from '@/store/product';
import { message } from 'jetlinks-ui-components';
import { useRuleEditorStore } from '@/store/ruleEditor';
import moment from 'moment';
import { getWebSocket } from '@/utils/websocket';
import { PropertyMetadata } from '@/views/device/Product/typings';
import { onlyMessage } from '@/utils/comm';
const props = defineProps({
@ -137,7 +137,7 @@ const runScript = () => {
}
if (!props.virtualRule?.script) {
isBeginning.value = true;
message.warning('请编辑规则');
onlyMessage('请编辑规则', 'warning');
return;
}
ws.value = getWebSocket(`virtual-property-debug-${props.id}-${new Date().getTime()}`,

View File

@ -105,13 +105,12 @@
</template>
<script setup lang="ts" name="Debug">
import { PropType } from 'vue';
import { DeleteOutlined, PlusOutlined } from '@ant-design/icons-vue';
import { useProductStore } from '@/store/product';
import { message } from 'jetlinks-ui-components';
import { useRuleEditorStore } from '@/store/ruleEditor';
import moment from 'moment';
import { getWebSocket } from '@/utils/websocket';
import { PropertyMetadata } from '@/views/device/Product/typings';
import { onlyMessage } from '@/utils/comm';
const props = defineProps({
virtualRule: Object as PropType<Record<any, any>>,
@ -176,7 +175,7 @@ const runScript = () => {
}
if (!props.virtualRule?.script) {
isBeginning.value = true;
message.warning('请编辑规则');
onlyMessage('请编辑规则', 'warning');
return;
}
ws.value = getWebSocket(

View File

@ -10,7 +10,9 @@
<div class="list-item-left">
<div class="header">
<div class="title">
<div>{{ props.data?.topicName }}</div>
<div>
{{ props.data?.topicName }}
</div>
<span :style="{color: state === 'unread' ? 'red' : '#AAAAAA'}">{{ state === 'unread' ? '未读' : '已读' }}</span>
</div>
<div class="time">
@ -126,25 +128,31 @@ const read = (type: '_read' | '_unread') => {
display: flex;
align-items: center;
justify-content: space-between;
// margin-bottom: 10px;
.title {
display: flex;
align-items: center;
width: calc(100% - 120px);
div {
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
font-weight: bold;
margin-right: 10px;
max-width: calc(100% - 40px);
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
span {
color: red;
font-size: 13px;
width: 30px;
}
}
.time {
font-size: 12px;
color: rgba(0, 0, 0, 0.45);
width: 120px;
}
}
}

View File

@ -46,7 +46,6 @@ import {
templateDownload,
} from '@/api/device/instance';
import { EventSourcePolyfill } from 'event-source-polyfill';
import { message } from 'jetlinks-ui-components';
type Emits = {
(e: 'update:modelValue', data: string[]): void;
@ -138,7 +137,7 @@ const submitData = async (fileUrl: string) => {
};
source.onopen = () => {};
} else {
message.error('请先上传文件');
onlyMessage('请先上传文件', 'error');
}
};

View File

@ -149,9 +149,9 @@ import {
getSearchHistory,
saveSearchHistory,
} from '@/api/comm';
import { message } from 'jetlinks-ui-components';
import LivePlayer from '@/components/Player/index.vue';
import MediaTool from '@/components/Player/mediaTool.vue';
import { onlyMessage } from '@/utils/comm';
type Player = {
id?: string;
@ -347,10 +347,10 @@ const saveHistory = async () => {
if (res.success) {
visible.value = false;
getHistory();
message.success('保存成功');
onlyMessage('保存成功');
formRef.value.resetFields();
} else {
message.error('保存失败');
onlyMessage('保存失败', 'error');
}
})
.catch((err: any) => {

View File

@ -56,10 +56,9 @@
<script lang="ts" setup name='JProUpload'>
import { UploadChangeParam, UploadProps } from 'ant-design-vue';
import { message } from 'jetlinks-ui-components';
import { FILE_UPLOAD } from '@/api/comm';
import { TOKEN_KEY } from '@/utils/variable';
import {getBase64, LocalStore} from '@/utils/comm';
import {getBase64, LocalStore, onlyMessage} from '@/utils/comm';
import { CSSProperties } from 'vue';
import ImageCropper from './Cropper.vue';
@ -132,7 +131,7 @@ const handleChange = (info: UploadChangeParam) => {
}
if (info.file.status === 'error') {
loading.value = false;
message.error('上传失败');
onlyMessage('上传失败', 'error');
}
};
@ -141,15 +140,15 @@ const beforeUpload = (file: UploadProps['fileList'][number]) => {
const maxSize = props.size || 2 //
if (!isType) {
if (props.errorMessage) {
message.error(props.errorMessage);
onlyMessage(props.errorMessage, 'error');
} else {
message.error(`请上传正确格式的图片`);
onlyMessage(`请上传正确格式的图片`, 'error');
}
return false;
}
const isSize = file.size / 1024 / 1024 < maxSize;
if (!isSize) {
message.error(`图片大小必须小于${maxSize}M`);
onlyMessage(`图片大小必须小于${maxSize}M`, 'error');
return false
}

View File

@ -426,7 +426,7 @@ import {
queryProductList,
} from '@/api/northbound/alicloud';
import _ from 'lodash';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const router = useRouter();
const route = useRoute();
@ -547,7 +547,7 @@ const saveBtn = () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
formRef.value.resetFields();
router.push('/iot/northbound/AliCloud');
}

View File

@ -138,8 +138,7 @@
<script setup lang="ts">
import { query, _undeploy, _deploy, _delete } from '@/api/northbound/alicloud';
import type { ActionsType } from '@/views/device/Instance/typings';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import { useMenuStore } from 'store/menu';
import BadgeStatus from '@/components/BadgeStatus/index.vue';
@ -264,10 +263,10 @@ const getActions = (
response = await _deploy(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -287,10 +286,10 @@ const getActions = (
onConfirm: async () => {
const resp = await _delete(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -487,8 +487,8 @@ import {
detail,
} from '@/api/northbound/dueros';
import _ from 'lodash';
import { message } from 'jetlinks-ui-components';
import { useMenuStore } from '@/store/menu';
import { onlyMessage } from '@/utils/comm';
const menuStory = useMenuStore();
const route = useRoute();
@ -708,7 +708,7 @@ const saveBtn = async () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
formRef.value.resetFields();
menuStory.jumpPage('Northbound/DuerOS');
}

View File

@ -150,8 +150,7 @@ import {
queryTypes,
} from '@/api/northbound/dueros';
import type { ActionsType } from '@/views/device/Instance/typings';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import { useMenuStore } from 'store/menu';
import BadgeStatus from '@/components/BadgeStatus/index.vue';
@ -303,10 +302,10 @@ const getActions = (
response = await _deploy(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -326,10 +325,10 @@ const getActions = (
onConfirm: async () => {
const resp = await _delete(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -124,10 +124,9 @@
</template>
<script setup lang='ts' name='AccountBind'>
import { getImage, LocalStore } from '@/utils/comm'
import { getImage, LocalStore, onlyMessage } from '@/utils/comm'
import { TOKEN_KEY } from '@/utils/variable'
import { Form } from 'ant-design-vue'
import { message } from 'ant-design-vue'
import { applicationInfo, bindAccount } from '@/api/bind'
import { code, authLogin, userDetail } from '@/api/login'
@ -196,7 +195,7 @@ const handleBind = async () => {
const code = getUrlCode()
const res = await bindAccount(code)
console.log('bindAccount: ', res)
message.success('绑定成功')
onlyMessage('绑定成功')
goRedirect()
setTimeout(() => window.close(), 1000)
}
@ -263,7 +262,7 @@ const handleLoginBind = () => {
const res = await authLogin(params)
console.log('res: ', res)
if (res.success) {
message.success('登录成功')
onlyMessage('登录成功')
LocalStore.set(TOKEN_KEY, res.result!.token as string)
goRedirect()
}

View File

@ -22,8 +22,8 @@
class="code-item"
width="100%"
height="100%"
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
:src="url"
sandbox="allow-scripts allow-same-origin allow-popups"
v-if="!loading"
></iframe>
</div>

View File

@ -1,10 +1,10 @@
<template>
<j-modal width="350px" visible @cancel="emit('close')" :footer="null">
<template v-if="getType === 'notifier-dingTalk'">
<div class="tip">暂未开发</div>
<div class="tip">绑定账号{{ info }}</div>
</template>
<template v-else-if="getType === 'notifier-weixin'">
<div class="tip">暂未开发</div>
<div class="tip">绑定账号{{ info }}</div>
</template>
<template v-else-if="getType === 'notifier-email'">
<div class="tip">绑定账号{{ user.userInfos?.email }}</div>
@ -17,16 +17,8 @@
<j-button
@click="onBind"
type="primary"
v-if="
[
'notifier-email',
'notifier-voice',
'notifier-sms',
].includes(getType)
"
>更换绑定账号</j-button
>
<j-button v-else @click="emit('close')">确定</j-button>
</div>
</j-modal>
<EditInfo
@ -35,14 +27,24 @@
@close="editInfoVisible = false"
@save="onSave"
/>
<Bind
@close="visible = false"
v-if="visible"
:data="props.data"
:current="current"
@save="onBindSave"
/>
</template>
<script lang="ts" setup>
import { getIsBindThird } from '@/api/account/notificationSubscription';
import { useUserInfo } from '@/store/userInfo';
import EditInfo from '../../EditInfo/index.vue';
import Bind from './Bind.vue';
const user = useUserInfo();
const emit = defineEmits(['close', 'save', 'unsubscribe']);
const info = ref<any>(null);
const props = defineProps({
data: {
//
@ -57,13 +59,22 @@ const props = defineProps({
});
const editInfoVisible = ref<boolean>(false);
const visible = ref<boolean>(false);
const getType = computed(() => {
return props.current?.channelProvider;
});
const onBind = () => {
if (
['notifier-voice', 'notifier-sms', 'notifier-email'].includes(
props.current?.channelProvider,
)
) {
editInfoVisible.value = true;
} else {
visible.value = true
}
};
const onSave = () => {
@ -73,24 +84,34 @@ const onSave = () => {
emit('close');
};
//
const onAccountChange = (_data: any) => {
// current.value = _data;
// if (
// ['notifier-voice', 'notifier-sms', 'notifier-email'].includes(
// _data?.channelProvider,
// )
// ) {
// editInfoVisible.value = true;
// } else {
// visible.value = true;
// }
const onBindSave = () => {
emit('save', props.current);
emit('close');
}
const handleSearch = async () => {
if (
!['notifier-voice', 'notifier-sms', 'notifier-email'].includes(
props.current?.channelProvider,
)
) {
const resp: any = await getIsBindThird();
const _item = (resp?.result || []).find((item: any) => {
return (
props.current?.channelConfiguration?.notifierId ===
item?.provider
);
});
if (_item) {
info.value = _item?.providerName
}
}
};
watch(
() => props.current,
() => {
// handleSearch();
handleSearch();
},
{
immediate: true,

View File

@ -45,10 +45,9 @@
<script lang="ts" setup name='JProUpload'>
import { UploadChangeParam, UploadProps } from 'ant-design-vue';
import { message } from 'jetlinks-ui-components';
import { FILE_UPLOAD } from '@/api/comm';
import { TOKEN_KEY } from '@/utils/variable';
import { getBase64, LocalStore } from '@/utils/comm';
import { getBase64, LocalStore, onlyMessage } from '@/utils/comm';
import { CSSProperties } from 'vue';
import ImageCropper from '@/components/Upload/Cropper.vue';
@ -116,7 +115,7 @@ const handleChange = (info: UploadChangeParam) => {
}
if (info.file.status === 'error') {
loading.value = false;
message.error('上传失败');
onlyMessage('上传失败', 'error');
}
};
@ -125,15 +124,15 @@ const beforeUpload = (file: UploadProps['fileList'][number]) => {
const maxSize = props.size || 2; //
if (!isType) {
if (props.errorMessage) {
message.error(props.errorMessage);
onlyMessage(props.errorMessage, 'error');
} else {
message.error(`请上传正确格式的图片`);
onlyMessage(`请上传正确格式的图片`, 'error');
}
return false;
}
const isSize = file.size / 1024 / 1024 < maxSize;
if (!isSize) {
message.error(`图片大小必须小于${maxSize}M`);
onlyMessage(`图片大小必须小于${maxSize}M`, 'error');
return false
}

View File

@ -47,11 +47,12 @@
</template>
<script setup lang="ts" name="modifyModal">
import { PropType } from 'vue';
import { Form, message } from 'jetlinks-ui-components';
import { Form } from 'jetlinks-ui-components';
import { queryTree, saveTree, updateTree } from '@/api/device/category';
import { ValidateErrorEntity } from 'ant-design-vue/es/form/interface';
import { list } from '@/api/iot-card/home';
import { number } from 'echarts';
import { onlyMessage } from '@/utils/comm';
const emits = defineEmits(['refresh']);
const formRef = ref();
@ -136,11 +137,11 @@ const submitData = async () => {
}
const res = await saveTree(addParams.value);
if (res.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
visible.value = false;
emits('refresh');
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
} else if (props.isAdd === 2) {
const id = updateObj.value.id;
@ -152,11 +153,11 @@ const submitData = async () => {
};
const res = await updateTree(id, updateParams);
if (res.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
visible.value = false;
emits('refresh');
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
}
});
@ -192,7 +193,7 @@ const show = async (row: any) => {
visible.value = true;
} else if (props.isChild === 2) {
if (row.level === 5) {
message.warning('树形结构最多添加5层');
onlyMessage('树形结构最多添加5层', 'warning');
visible.value = false;
} else {
addObj.value = row;

View File

@ -80,7 +80,7 @@
import { queryTree, deleteTree } from '@/api/device/category';
import type { ActionsType } from '@/components/Table/index.vue';
import ModifyModal from './components/modifyModal/index.vue';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const expandedRowKeys = ref<any>([]);
const tableRef = ref<Record<string, any>>({});
const modifyRef = ref();
@ -194,10 +194,10 @@ const getActions = (
onConfirm: async () => {
const resp = await deleteTree(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
tableRef.value.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -91,9 +91,9 @@
<script setup lang="ts">
import { query, bindDevice } from '@/api/device/instance';
import moment from 'moment';
import { message } from 'jetlinks-ui-components';
import { useInstanceStore } from '@/store/instance';
import { storeToRefs } from 'pinia';
import { onlyMessage } from '@/utils/comm';
const instanceStore = useInstanceStore();
const { detail } = storeToRefs(instanceStore);
@ -177,7 +177,7 @@ const cancelSelect = () => {
const handleOk = () => {
if (_selectedRowKeys.value.length === 0) {
message.warning('请选择需要绑定的设备');
onlyMessage('请选择需要绑定的设备', 'warning');
return;
}
btnLoading.value = true;
@ -185,7 +185,7 @@ const handleOk = () => {
.then((resp) => {
emit('change', true);
cancelSelect();
message.success('操作成功');
onlyMessage('操作成功');
})
.finally(() => {
btnLoading.value = false;

View File

@ -57,7 +57,7 @@
<script lang="ts" setup>
import { treeEdgeMap, saveEdgeMap, addDevice } from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const _props = defineProps({
metaData: {
type: Array,
@ -132,7 +132,7 @@ const _delete = (_key: string) => {
const handleClick = async () => {
if (!rightList.value.length) {
message.warning('请选择采集器');
onlyMessage('请选择采集器', 'warning');
} else {
const params: any[] = [];
rightList.value.map((item: any) => {
@ -159,11 +159,11 @@ const handleClick = async () => {
requestList: filterParms,
});
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
_emits('save');
}
} else {
message.error('暂无对应属性的映射');
onlyMessage('暂无对应属性的映射', 'error');
}
} else {
if (filterParms && filterParms.length !== 0) {
@ -175,12 +175,12 @@ const handleClick = async () => {
requestList: filterParms,
});
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
_emits('save');
}
}
} else {
message.error('暂无对应属性的映射');
onlyMessage('暂无对应属性的映射', 'error');
}
}
}

View File

@ -132,8 +132,8 @@ import {
} from '@/api/device/instance';
import MSelect from './MSelect.vue';
import PatchMapping from './PatchMapping.vue';
import { message } from 'jetlinks-ui-components';
import { inject } from 'vue';
import { onlyMessage } from '@/utils/comm';
const columns = [
{
title: '名称',
@ -225,7 +225,7 @@ const unbind = async (id: string) => {
},
);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
_emit('getEdgeMap');
}
}
@ -248,7 +248,7 @@ const onSave = async () => {
if (form.value) {
formRef.value.validateFields().then(async () => {
if (modelRef.dataSource.length === 0) {
message.error('请配置物模型');
onlyMessage('请配置物模型', 'error');
} else {
channelList.value.forEach((item: any) => {
modelRef.dataSource.forEach((i: any) => {
@ -290,7 +290,7 @@ const onSave = async () => {
const save = async (item: any) => {
const res = await saveEdgeMap(instanceStore.current.id, item);
if (res.status === 200) {
message.success('保存成功');
onlyMessage('保存成功');
_emit('close');
}
};

View File

@ -116,10 +116,10 @@ import type { ActionsType } from '@/components/Table';
import { query, unbindDevice, unbindBatchDevice } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { storeToRefs } from 'pinia';
import { message } from 'ant-design-vue';
import BindChildDevice from './BindChildDevice/index.vue';
import { usePermissionStore } from '@/store/permission';
import SaveChild from './SaveChild/index.vue';
import { onlyMessage } from '@/utils/comm';
const instanceStore = useInstanceStore();
const { detail } = storeToRefs(instanceStore);
@ -242,7 +242,7 @@ const getActions = (data: Partial<Record<string, any>>): ActionsType[] => {
);
if (resp.status === 200) {
childDeviceRef.value?.reload();
message.success('操作成功!');
onlyMessage('操作成功!');
}
},
},
@ -281,12 +281,12 @@ const handleUnBind = async () => {
_selectedRowKeys.value,
);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
cancelSelect();
childDeviceRef.value?.reload();
}
} else {
message.warning('请勾选需要解绑的数据');
onlyMessage('请勾选需要解绑的数据', 'warning');
}
};

View File

@ -1,4 +1,4 @@
import { Badge, Button, message, Popconfirm, Space } from "jetlinks-ui-components"
import { Badge, Button, Popconfirm, Space } from "jetlinks-ui-components"
import TitleComponent from '@/components/TitleComponent/index.vue'
import styles from './index.module.less'
import type { ListProps } from './util'
@ -14,6 +14,7 @@ import { deployDevice } from "@/api/initHome"
import PermissionButton from '@/components/PermissionButton/index.vue'
import { useMenuStore } from "@/store/menu"
import BindParentDevice from '../../components/BindParentDevice/index.vue'
import { onlyMessage } from "@/utils/comm"
type TypeProps = 'network' | 'child-device' | 'media' | 'cloud' | 'channel'
@ -128,7 +129,7 @@ const Status = defineComponent({
unref(gateway)?.channelId,
);
if (res.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -176,10 +177,10 @@ const Status = defineComponent({
resolve({});
}, time);
} else {
message.error('请求发生错误')
onlyMessage('请求发生错误', 'error')
}
} else {
message.error('设备不含accessId')
onlyMessage('设备不含accessId', 'error')
}
}
})
@ -296,7 +297,7 @@ const Status = defineComponent({
onConfirm: async () => {
const resp = await startGateway(unref(device).accessId || '');
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -328,10 +329,10 @@ const Status = defineComponent({
resolve({});
}, time);
} else {
message.error('请求发生错误')
onlyMessage('请求发生错误', 'error')
}
} else {
message.error('设备不含accessId')
onlyMessage('设备不含accessId', 'error')
}
} else {
if (unref(gateway)?.state?.value === 'enabled') {
@ -426,7 +427,7 @@ const Status = defineComponent({
onConfirm: async () => {
const resp = await startGateway(unref(device).accessId || '');
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -540,7 +541,7 @@ const Status = defineComponent({
onConfirm: async () => {
const resp = await _deploy(response?.result?.id || '');
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -650,7 +651,7 @@ const Status = defineComponent({
onConfirm: async () => {
const resp = await _deployProduct(unref(device).productId || '');
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -729,7 +730,7 @@ const Status = defineComponent({
const resp = await _deploy(unref(device)?.id || '');
if (resp.status === 200) {
instanceStore.current.state = { value: 'offline', text: '离线' }
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{
@ -1510,7 +1511,7 @@ const Status = defineComponent({
list.value = [...cloudInitList];
arr = [diagnoseGateway, diagnoseProduct, diagnoseDevice, diagnoseCTWing, diagnoseOnenet];
} else if (providerType === 'channel') {
message.error('未开发');
onlyMessage('未开发', 'error');
return;
}
if (arr.length > 0) {
@ -1642,7 +1643,7 @@ const Status = defineComponent({
}
}
if (flag) {
message.success('操作成功!');
onlyMessage('操作成功!');
}
}}></Button>
}
@ -1738,7 +1739,7 @@ const Status = defineComponent({
onConfirm: async () => {
const resp = await _deploy(response?.result?.id || '');
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
list.value = modifyArrayList(
list.value,
{

View File

@ -57,7 +57,7 @@
<script lang="ts" setup>
import { treeEdgeMap, saveEdgeMap } from '@/api/device/instance';
import { message } from 'ant-design-vue/es';
import { onlyMessage } from '@/utils/comm';
const _props = defineProps({
metaData: {
type: Array,
@ -128,7 +128,7 @@ const _delete = (_key: string) => {
const handleClick = async () => {
if (!rightList.value.length) {
message.warning('请选择采集器');
onlyMessage('请选择采集器', 'warning');
} else {
const params: any[] = [];
rightList.value.map((item: any) => {
@ -151,11 +151,11 @@ const handleClick = async () => {
requestList: filterParms,
});
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
_emits('save');
}
} else {
message.error('暂无对应属性的映射');
onlyMessage('暂无对应属性的映射', 'error');
}
}
};

View File

@ -45,9 +45,9 @@
<script setup lang="ts">
import { ComponentInternalInstance } from 'vue';
import { message } from 'jetlinks-ui-components';
import { useInstanceStore } from '@/store/instance';
import { execute } from '@/api/device/instance';
import { onlyMessage } from '@/utils/comm';
const instanceStore = useInstanceStore();
const route = useRoute();
@ -115,7 +115,7 @@ const handleExecute = async (func: any) => {
JSON.parse(func.json),
);
if (!success) return;
message.success('操作成功');
onlyMessage('操作成功');
func.executeResult = result instanceof Array ? result[0] : result;
proxy?.$forceUpdate();
};

View File

@ -106,9 +106,9 @@
<script setup lang="ts">
import { ComponentInternalInstance } from 'vue';
import { message } from 'jetlinks-ui-components';
import { useInstanceStore } from '@/store/instance';
import { execute } from '@/api/device/instance';
import { onlyMessage } from '@/utils/comm';
const instanceStore = useInstanceStore();
const route = useRoute();
@ -207,7 +207,7 @@ const handleExecute = async (func: any) => {
obj,
);
if (!success) return;
message.success('操作成功');
onlyMessage('操作成功');
executeResult.value = result instanceof Array ? result[0] : result;
proxy?.$forceUpdate();
})

View File

@ -56,7 +56,7 @@
<script lang="ts" setup>
import { modify } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const emit = defineEmits(['close', 'save']);
@ -100,7 +100,7 @@ const saveBtn = () => {
configuration: { ...values }
})
if(resp.status === 200){
message.success('操作成功!')
onlyMessage('操作成功!')
emit('save');
}
}

View File

@ -101,8 +101,8 @@ import {
_deploy,
configurationReset,
} from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import Save from './Save.vue';
import { onlyMessage } from '@/utils/comm';
const instanceStore = useInstanceStore();
const visible = ref<boolean>(false);
@ -132,7 +132,7 @@ const deployBtn = async () => {
if (instanceStore.current.id) {
const resp = await _deploy(instanceStore.current.id);
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
instanceStore.refresh(instanceStore.current.id);
}
}
@ -142,7 +142,7 @@ const resetBtn = async () => {
if (instanceStore.current.id) {
const resp = await configurationReset(instanceStore.current.id);
if (resp.status === 200) {
message.success('恢复默认配置成功');
onlyMessage('恢复默认配置成功');
instanceStore.refresh(instanceStore.current.id);
}
}

View File

@ -46,7 +46,7 @@
<script lang="ts" setup>
import { queryUserListNoPaging, saveRelations } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const emit = defineEmits(['close', 'save']);
@ -114,7 +114,7 @@ const saveBtn = () => {
if(param.length && instanceStore.current.id){
const resp = await saveRelations(instanceStore.current.id, param);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
emit('save');
formRef.value.resetFields();
}

View File

@ -49,9 +49,9 @@
<script lang="ts" setup>
import { useInstanceStore } from '@/store/instance';
import { message } from 'jetlinks-ui-components';
import _ from 'lodash';
import { saveTags, delTags } from '@/api/device/instance'
import { onlyMessage } from '@/utils/comm';
const emit = defineEmits(['close', 'save']);
@ -93,7 +93,7 @@ const handleOk = async () => {
//
const resp = await saveTags(instanceStore.current?.id || '', list);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
}
}
const _list = (dataSource.value || []).filter((item: any) => item?.key && !item?.value);

View File

@ -159,6 +159,7 @@ import {
} from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { isBoolean } from 'lodash';
import { onlyMessage } from '@/utils/comm';
const defaultValue =
'//解码函数\r\nfunction decode(context) {\r\n //原始报文\r\n var buffer = context.payload();\r\n // 转为json\r\n // var json = context.json();\r\n //mqtt 时通过此方法获取topic\r\n // var topic = context.topic();\r\n\r\n // 提取变量\r\n // var topicVars = context.pathVars("/{deviceId}/**",topic)\r\n //温度属性\r\n var temperature = buffer.getShort(3) * 10;\r\n //湿度属性\r\n var humidity = buffer.getShort(6) * 10;\r\n return {\r\n "temperature": temperature,\r\n "humidity": humidity\r\n };\r\n}\r\n';
@ -210,7 +211,7 @@ const rest = async () => {
);
if (res.status === 200) {
getDeviceCode();
message.success('操作成功');
onlyMessage('操作成功');
}
};
//topic
@ -275,7 +276,7 @@ const save = async () => {
item,
);
if (res.status === 200) {
message.success('保存成功');
onlyMessage('保存成功');
getDeviceCode();
}
};
@ -296,7 +297,7 @@ const debug = () => {
});
isTest.value = true;
} else {
message.error('请输入topic');
onlyMessage('请输入topic', 'error');
}
} else {
if (url.value !== '') {
@ -313,7 +314,7 @@ const debug = () => {
});
isTest.value = true;
} else {
message.error('请输入url');
onlyMessage('请输入url', 'error');
}
}
};

View File

@ -96,7 +96,7 @@
<script lang="ts" setup>
import { queryMetric, saveMetric } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
import { isNumber } from 'lodash-es';
const props = defineProps({
@ -191,7 +191,7 @@ const handleSave = () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
emit('close');
formRef.value.resetFields();
}

View File

@ -36,7 +36,7 @@
<script lang="ts" setup>
import { setProperty } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const props = defineProps({
data: {
@ -105,7 +105,7 @@ const handleSave = () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
emit('close');
formRef.value.resetFields();
}

View File

@ -105,8 +105,7 @@
</template>
<script lang="ts" setup>
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import ValueDetail from './ValueDetail.vue';
import { getType, imgMap, imgList, videoList, fileList } from './index';
@ -149,9 +148,9 @@ const getDetail = (_type: string) => {
let flag: string = '';
if (_type === 'img') {
if (isHttps && value?.formatValue.indexOf('http:') !== -1) {
message.error('域名为https时不支持访问http地址');
onlyMessage('域名为https时不支持访问http地址', 'error');
} else if (temp.value) {
message.error('该图片无法访问');
onlyMessage('该图片无法访问', 'error');
} else {
flag =
['.jpg', '.png'].find((item) =>
@ -162,11 +161,11 @@ const getDetail = (_type: string) => {
}
} else if (_type === 'video') {
if (isHttps && value?.formatValue.indexOf('http:') !== -1) {
message.error('域名为https时不支持访问http地址');
onlyMessage('域名为https时不支持访问http地址', 'error');
} else if (
['.rmvb', '.mvb'].some((item) => value?.formatValue.includes(item))
) {
message.error('当前仅支持播放.mp4,.flv,.m3u8格式的视频');
onlyMessage('当前仅支持播放.mp4,.flv,.m3u8格式的视频', 'error');
} else {
flag =
['.m3u8', '.flv', '.mp4'].find((item) =>

View File

@ -85,10 +85,10 @@ import Detail from './Detail/index.vue';
import Indicators from './Indicators.vue';
import { getProperty } from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { message } from 'ant-design-vue';
import { getWebSocket } from '@/utils/websocket';
import { map } from 'rxjs/operators';
import { queryDashboard } from '@/api/comm';
import { onlyMessage } from '@/utils/comm';
const columns = [
{
@ -194,7 +194,7 @@ const getActions = (data: Partial<Record<string, any>>) => {
data.id,
);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
}
}
},

View File

@ -51,8 +51,8 @@
<script setup lang="ts">
import { query, bindDevice } from '@/api/device/instance';
import { onlyMessage } from '@/utils/comm';
import dayjs from 'dayjs';
import { message } from 'jetlinks-ui-components';
const emit = defineEmits(['cancel', 'ok']);
@ -151,7 +151,7 @@ const onSelectChange = (keys: string[]) => {
const handleOk = () => {
if (_selectedRowKeys.value.length === 0) {
message.warning('请选择需要绑定的设备');
onlyMessage('请选择需要绑定的设备', 'warning');
return;
}
btnLoading.value = true;
@ -159,7 +159,7 @@ const handleOk = () => {
.then((resp) => {
if(resp.status === 200){
emit('ok', _selectedRowKeys.value[0]);
message.success('操作成功');
onlyMessage('操作成功');
}
})
.finally(() => {

View File

@ -57,7 +57,7 @@
<script lang="ts" setup>
import { treeMapping, saveMapping } from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
const _props = defineProps({
type: {
type: String,
@ -135,7 +135,7 @@ const _delete = (_key: string) => {
const handleClick = async () => {
if (!rightList.value.length) {
message.warning('请选择采集器');
onlyMessage('请选择采集器', 'warning');
} else {
const params: any[] = [];
rightList.value.map((item: any) => {
@ -154,11 +154,11 @@ const handleClick = async () => {
if (filterParms && filterParms.length !== 0) {
const res = await saveMapping(_props.deviceId, _props.type, filterParms);
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
_emits('save');
}
} else {
message.error('暂无对应属性的映射');
onlyMessage('暂无对应属性的映射', 'error');
}
}
};

View File

@ -122,7 +122,7 @@ import {
} from '@/api/device/instance';
import MSelect from '../MSelect.vue';
import PatchMapping from './PatchMapping.vue';
import { message } from 'ant-design-vue/es';
import { onlyMessage } from '@/utils/comm';
const columns = [
{
@ -246,7 +246,7 @@ const unbind = async (id: string) => {
id,
]);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
handleSearch();
}
}
@ -275,7 +275,7 @@ const onSave = () => {
arr,
);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
handleSearch();
}
}

View File

@ -124,8 +124,7 @@ import EdgeMap from './EdgeMap/index.vue';
import Parsing from './Parsing/index.vue';
import Log from './Log/index.vue';
import { _deploy, _disconnect } from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { getWebSocket } from '@/utils/websocket';
import { useMenuStore } from '@/store/menu';
import { useRouterParams } from '@/utils/hooks/useParams';
@ -305,7 +304,7 @@ const handleAction = async () => {
if (instanceStore.current?.id) {
const resp = await _deploy(instanceStore.current?.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceStore.refresh(instanceStore.current?.id);
}
}
@ -315,7 +314,7 @@ const handleDisconnect = async () => {
if (instanceStore.current?.id) {
const resp = await _disconnect(instanceStore.current?.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceStore.refresh(instanceStore.current?.id);
}
}
@ -324,7 +323,7 @@ const handleDisconnect = async () => {
const handleRefresh = async () => {
if (instanceStore.current?.id) {
await instanceStore.refresh(instanceStore.current?.id);
message.success('操作成功');
onlyMessage('操作成功');
}
};

View File

@ -82,7 +82,6 @@ import { LocalStore, onlyMessage } from '@/utils/comm';
import { downloadFileByUrl } from '@/utils/utils';
import { deviceImport, templateDownload } from '@/api/device/instance';
import { EventSourcePolyfill } from 'event-source-polyfill';
import { message } from 'jetlinks-ui-components';
const props = defineProps({
product: {
@ -173,7 +172,7 @@ const submitData = async (fileUrl: string) => {
};
source.onopen = () => {};
} else {
message.error('请先上传文件');
onlyMessage('请先上传文件', 'error');
}
};

View File

@ -134,8 +134,7 @@
<script lang="ts" setup>
import { queryNoPagingPost } from '@/api/device/product';
import { isExists, update } from '@/api/device/instance';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
const emit = defineEmits(['close', 'save']);
const props = defineProps({
@ -217,7 +216,7 @@ const handleSave = () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
emit('save');
formRef.value.resetFields();
}

View File

@ -306,8 +306,7 @@ import {
batchDeployDevice,
batchDeleteDevice,
} from '@/api/device/instance';
import { getImage, LocalStore } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, LocalStore, onlyMessage } from '@/utils/comm';
import Import from './Import/modal.vue';
import Export from './Export/index.vue';
import Process from './Process/index.vue';
@ -671,10 +670,10 @@ const getActions = (
response = await _deploy(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -694,10 +693,10 @@ const getActions = (
onConfirm: async () => {
const resp = await _delete(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -763,12 +762,12 @@ const syncDeviceStatus = () => {
const delSelectedDevice = async () => {
if (!_selectedRowKeys.value.length) {
message.error('请选择设备');
onlyMessage('请选择设备', 'error');
return;
}
const resp = await batchDeleteDevice(_selectedRowKeys.value);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
_selectedRowKeys.value = [];
instanceRef.value?.reload();
}
@ -776,12 +775,12 @@ const delSelectedDevice = async () => {
// const activeSelectedDevice = async () => {
// if(!_selectedRowKeys.value.length){
// message.error('')
// onlyMessage('', 'error')
// return
// }
// const resp = await batchDeployDevice(_selectedRowKeys.value);
// if (resp.status === 200) {
// message.success('');
// onlyMessage('');
// _selectedRowKeys.value = [];
// instanceRef.value?.reload();
// }
@ -789,12 +788,12 @@ const delSelectedDevice = async () => {
const disabledSelectedDevice = async () => {
if (!_selectedRowKeys.value.length) {
message.error('请选择设备');
onlyMessage('请选择设备', 'error');
return;
}
const resp = await batchUndeployDevice(_selectedRowKeys.value);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
_selectedRowKeys.value = [];
instanceRef.value?.reload();
}

View File

@ -117,8 +117,8 @@ import {
testCode,
saveProductCode,
} from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { isBoolean } from 'lodash';
import { onlyMessage } from '@/utils/comm';
const defaultValue =
'//解码函数\r\nfunction decode(context) {\r\n //原始报文\r\n var buffer = context.payload();\r\n // 转为json\r\n // var json = context.json();\r\n //mqtt 时通过此方法获取topic\r\n // var topic = context.topic();\r\n\r\n // 提取变量\r\n // var topicVars = context.pathVars("/{deviceId}/**",topic)\r\n //温度属性\r\n var temperature = buffer.getShort(3) * 10;\r\n //湿度属性\r\n var humidity = buffer.getShort(6) * 10;\r\n return {\r\n "temperature": temperature,\r\n "humidity": humidity\r\n };\r\n}\r\n';
@ -202,7 +202,7 @@ const save = async () => {
};
const res = await saveProductCode(productStore.current.id, item);
if (res.status === 200) {
message.success('保存成功');
onlyMessage('保存成功');
getProductCode();
}
};
@ -223,7 +223,7 @@ const debug = () => {
});
isTest.value = true;
} else {
message.error('请输入topic');
onlyMessage('请输入topic', 'error');
}
} else {
if (url.value !== '') {
@ -240,7 +240,7 @@ const debug = () => {
});
isTest.value = true;
} else {
message.error('请输入url');
onlyMessage('请输入url', 'error');
}
}
};

View File

@ -125,9 +125,8 @@
<script setup lang='ts' name='accessModal'>
import type { PropType } from 'vue'
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { queryList, getAccessConfig } from '@/api/device/product'
import { message } from 'jetlinks-ui-components'
import { useMenuStore } from '@/store/menu';
import { getProductByPluginId } from '@/api/link/plugin'
import { getProviders } from '@/api/link/accessConfig'
@ -297,7 +296,7 @@ const submitData = async () => {
}
}
} else {
message.error('请选择接入方式');
onlyMessage('请选择接入方式', 'error');
}
}

View File

@ -274,7 +274,7 @@
<script lang="ts" setup name='AccessConfig'>
import { useProductStore } from '@/store/product';
import { ConfigMetadata } from '@/views/device/Product/typings';
import { Empty, message } from 'jetlinks-ui-components';
import { Empty } from 'jetlinks-ui-components';
import Title from '../Title/index.vue';
import { usePermissionStore } from '@/store/permission';
import { steps, steps1 } from './util';
@ -306,6 +306,7 @@ import AccessModal from './accessModal.vue'
import MetaDataModal from './metadataModal.vue'
import { getPluginData, getProductByPluginId, savePluginData } from '@/api/link/plugin'
import { detail as queryPluginAccessDetail } from '@/api/link/accessConfig'
import { onlyMessage } from '@/utils/comm';
const productStore = useProductStore();
const tableRef = ref();
@ -799,7 +800,7 @@ const updateAccessData = async (id: string, values: any) => {
});
submitLoading.value = false
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
productStore.current!.storePolicy = storePolicy;
if ((window as any).onTabSaveSuccess) {
if (resp.result) {

View File

@ -36,10 +36,9 @@
<script lang='ts' setup name='MetadataModal'>
import { useProductStore } from '@/store/product';
import { getImage } from '@/utils/comm'
import { getImage, onlyMessage } from '@/utils/comm'
import { storeToRefs } from 'pinia'
import { modify, updateDevice } from '@/api/device/product'
import { message } from 'jetlinks-ui-components'
import { savePluginData } from '@/api/link/plugin'
type Emit = {
@ -150,7 +149,7 @@ const updateAccessData = async (id: string, values: any, metadata: string) => {
});
loading.value = false
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
productStore.current!.storePolicy = storePolicy;
if ((window as any).onTabSaveSuccess) {
if (resp.result) {

View File

@ -120,9 +120,7 @@ import {
getDeviceNumber,
getProtocolDetail,
} from '@/api/device/product';
import { message } from 'jetlinks-ui-components';
import { getImage, handleParamsToString } from '@/utils/comm';
import encodeQuery from '@/utils/encodeQuery';
import { getImage, handleParamsToString, onlyMessage } from '@/utils/comm';
import { useMenuStore } from '@/store/menu';
import { useRouterParams } from '@/utils/hooks/useParams';
@ -199,7 +197,7 @@ const handleDeploy = async () => {
if (productStore.current.id) {
const resp = await _deploy(productStore.current.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
productStore.refresh(productStore.current.id);
}
}
@ -212,7 +210,7 @@ const handleUndeploy = async () => {
if (productStore.current.id) {
const resp = await _undeploy(productStore.current.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
productStore.refresh(productStore.current.id);
}
}

View File

@ -116,10 +116,9 @@
import { category } from '@/api/device/product';
import { Form } from 'jetlinks-ui-components';
import { getImage } from '@/utils/comm.ts';
import { message } from 'jetlinks-ui-components';
import DialogTips from '../DialogTips/index.vue';
import { useProductStore } from '@/store/product';
import { filterTreeSelectNode, filterSelectNode } from '@/utils/comm';
import { filterTreeSelectNode, filterSelectNode, onlyMessage } from '@/utils/comm';
import { FILE_UPLOAD } from '@/api/comm';
import { isInput } from '@/utils/regular';
import type { Rule } from 'ant-design-vue/es/form';
@ -316,12 +315,12 @@ const submitData = () => {
const res = await addProduct(form);
loading.value = false
if (res.status === 200) {
message.success('保存成功!');
onlyMessage('保存成功!');
visible.value = false;
emit('success');
dialogRef.value.show(res.result.id);
} else {
message.error('操作失败');
onlyMessage('操作失败', 'error');
}
} else if (props.isAdd === 2) {
//
@ -335,11 +334,11 @@ const submitData = () => {
loading.value = false
});
if (res.status === 200) {
message.success('保存成功!');
onlyMessage('保存成功!');
emit('success');
visible.value = false;
} else {
message.error('操作失败');
onlyMessage('操作失败', 'error');
}
}
})

View File

@ -174,8 +174,7 @@
<script setup lang="ts">
import server from '@/utils/request';
import type { ActionsType } from '@/components/Table/index.vue';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import {
getProviders,
category,
@ -334,10 +333,10 @@ const getActions = (
response = await _deploy(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
tableRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -354,10 +353,10 @@ const getActions = (
onConfirm: async () => {
const resp = await deleteProduct(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
tableRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -390,7 +389,7 @@ const beforeUpload = (file: any) => {
const text = result.target?.result;
console.log('text: ', text);
if (!file.type.includes('json')) {
message.error('请上传json格式文件');
onlyMessage('请上传json格式文件', 'error');
return false;
}
try {
@ -398,18 +397,18 @@ const beforeUpload = (file: any) => {
//
data.state = 0;
if (Array.isArray(data)) {
message.error('请上传json格式文件');
onlyMessage('请上传json格式文件', 'error');
return false;
}
delete data.state;
const res = await updateDevice(data);
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
tableRef.value?.reload();
}
return true;
} catch {
// message.error('json');
// onlyMessage('json', 'error');
}
return true;
};

View File

@ -14,7 +14,6 @@ import { useInstanceStore } from '@/store/instance';
import { useMetadataStore } from '@/store/metadata';
import { useProductStore } from '@/store/product';
import { ProductItem } from '@/views/device/Product/typings';
import { message } from 'jetlinks-ui-components';
import type { FormInstance } from 'ant-design-vue/es';
import { updateMetadata, asyncUpdateMetadata } from '../../metadata'
import { detail } from '@/api/device/instance';
@ -23,6 +22,7 @@ import BaseForm from './BaseForm.vue';
import { PropType } from 'vue';
import { _deploy } from '@/api/device/product';
import { cloneDeep } from 'lodash';
import { onlyMessage } from '@/utils/comm';
const props = defineProps({
type: {
@ -79,7 +79,7 @@ const save = reactive({
const list = (_metadata[type] as any[]) || []
if (formValue.id) {
if (metadataStore.model.action === 'add' && list.some(item => item.id === formValue.id)) {
message.error('标识已存在')
onlyMessage('标识已存在', 'error')
save.loading = false
return
}
@ -116,20 +116,14 @@ const save = reactive({
const res = await _deploy(id as string)
if (res.success) {
save.resetMetadata();
message.success({
key: 'metadata',
content: '操作成功!',
});
onlyMessage('操作成功!');
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
// Store.set('product-deploy', deploy);
} else {
// save.resetMetadata();
message.success({
key: 'metadata',
content: '操作成功!',
});
onlyMessage('操作成功!');
}
metadataStore.set('edit', false)
metadataStore.set('item', {})
@ -138,7 +132,7 @@ const save = reactive({
// }
}
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
save.loading = false
})

View File

@ -75,10 +75,11 @@ import { useInstanceStore } from '@/store/instance'
import { useProductStore } from '@/store/product'
import { useMetadataStore } from '@/store/metadata'
import PermissionButton from '@/components/PermissionButton/index.vue'
import { TablePaginationConfig, message } from 'ant-design-vue/es'
import { TablePaginationConfig } from 'ant-design-vue/es'
import { asyncUpdateMetadata, removeMetadata } from '../metadata'
import Edit from './Edit/index.vue'
import { ColumnProps } from 'ant-design-vue/es/table'
import { onlyMessage } from '@/utils/comm';
interface Props {
type: MetadataType;
target: 'product' | 'device';
@ -164,7 +165,7 @@ const handleAddClick = () => {
metadataStore.set('type', type)
metadataStore.set('action', 'add')
if (props.target === 'device' && !instanceStore.detail?.independentMetadata) {
message.warning('修改物模型后会脱离产品物模型')
onlyMessage('修改物模型后会脱离产品物模型', 'warning')
}
}
@ -186,7 +187,7 @@ const handleEditClick = (record: MetadataItem) => {
metadataStore.model.type = type;
metadataStore.model.action = 'edit';
if (props.target === 'device' && !instanceStore.detail?.independentMetadata) {
message.warning('修改物模型后会脱离产品物模型');
onlyMessage('修改物模型后会脱离产品物模型', 'warning');
}
}
@ -213,13 +214,13 @@ const removeItem = async (record: MetadataItem) => {
const _currentData = removeMetadata(type, [record], target === 'device' ? instanceStore.current : productStore.detail);
const result = await asyncUpdateMetadata(target, _currentData);
if (result.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
// Store.set(SystemConst.REFRESH_METADATA_TABLE, true);
metadataStore.model.edit = false;
metadataStore.model.item = {};
resetMetadata();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
};
</script>

View File

@ -26,13 +26,13 @@
</j-drawer>
</template>
<script setup lang="ts" name="Cat">
import { message } from 'ant-design-vue/es';
import { downloadObject } from '@/utils/utils'
import { useInstanceStore } from '@/store/instance';
import { useProductStore } from '@/store/product';
import type { Key } from 'ant-design-vue/es/_util/type';
import { convertMetadata, getCodecs, detail as productDetail } from '@/api/device/product';
import { detail } from '@/api/device/instance'
import { onlyMessage } from '@/utils/comm';
interface Props {
visible: boolean;
@ -81,7 +81,7 @@ const handleExport = async () => {
'YYYY/MM/DD',
);
} catch (e) {
message.error('请先配置物模型');
onlyMessage('请先配置物模型', 'error');
}
}

View File

@ -61,11 +61,10 @@ import { queryNoPagingPost, convertMetadata, modify } from '@/api/device/product
import type { DefaultOptionType } from 'ant-design-vue/es/select';
import type { UploadProps, UploadFile, UploadChangeParam } from 'ant-design-vue/es';
import type { DeviceMetadata } from '@/views/device/Product/typings'
import { message } from 'jetlinks-ui-components';
import { useInstanceStore } from '@/store/instance'
import { useProductStore } from '@/store/product';
import { FILE_UPLOAD } from '@/api/comm';
import { getToken } from '@/utils/comm';
import { getToken, onlyMessage } from '@/utils/comm';
import { useMetadataStore } from '@/store/metadata';
const route = useRoute()
@ -216,12 +215,12 @@ const handleImport = async () => {
result = await modify(id as string, { id, metadata: JSON.stringify(metadata) }).catch(err => err)
}
if (result.success) {
message.success('导入成功')
onlyMessage('导入成功')
}
loading.value = false
} else {
loading.value = false
// message.error('!')
// onlyMessage('!', 'error')
return
}
if (props?.type === 'device') {
@ -239,7 +238,7 @@ const handleImport = async () => {
if (
!(!!_object?.properties || !!_object?.events || !!_object?.functions || !!_object?.tags)
) {
message.error('物模型数据不正确')
onlyMessage('物模型数据不正确', 'error')
loading.value = false;
return;
}
@ -257,7 +256,7 @@ const handleImport = async () => {
}
loading.value = false
if (resp.success) {
message.success('导入成功')
onlyMessage('导入成功')
}
if (props?.type === 'device') {
await instanceStore.refresh(id as string)
@ -270,7 +269,7 @@ const handleImport = async () => {
close();
} catch (e) {
loading.value = false
message.error(e === 'error' ? '物模型数据不正确' : '上传json格式的物模型文件')
onlyMessage(e === 'error' ? '物模型数据不正确' : '上传json格式的物模型文件', 'error')
}
}
})

View File

@ -47,7 +47,7 @@
<script setup lang="ts" name="Metadata">
import PermissionButton from '@/components/PermissionButton/index.vue'
import { deleteMetadata } from '@/api/device/instance.js'
import { message } from 'ant-design-vue'
import { message } from 'jetlinks-ui-components';
import { useInstanceStore } from '@/store/instance'
import Import from './Import/index.vue'
import Cat from './Cat/index.vue'

View File

@ -156,8 +156,7 @@
<script lang="ts" setup>
import { queryNoPagingPost } from '@/api/device/product';
import { isExists, update } from '@/api/device/instance';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import SaveProduct from '@/views/media/Device/Save/SaveProduct.vue';
const emit = defineEmits(['close', 'save']);
@ -253,7 +252,7 @@ const handleSave = () => {
loading.value = false;
});
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
emit('save');
formRef.value.resetFields();
}

View File

@ -208,10 +208,9 @@
<script lang="ts" setup>
import { queryGatewayList, queryNoPagingPost } from '@/api/device/product';
import { queryTree } from '@/api/device/category';
import { message } from 'jetlinks-ui-components';
import { ActionsType } from '@/views/device/Instance/typings';
import { useMenuStore } from '@/store/menu';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import dayjs from 'dayjs';
import { query, _delete, _deploy, _undeploy } from '@/api/device/instance';
import { restPassword } from '@/api/edge/device';
@ -440,10 +439,10 @@ const getActions = (
response = await _deploy(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
edgeDeviceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -475,7 +474,7 @@ const getActions = (
onConfirm: async () => {
restPassword(data.id).then((resp: any) => {
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
edgeDeviceRef.value?.reload();
}
});
@ -499,10 +498,10 @@ const getActions = (
onConfirm: async () => {
const resp = await _delete(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
edgeDeviceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -156,10 +156,9 @@
<script lang="ts" setup>
import { queryNoPagingPost } from '@/api/device/instance';
import { message } from 'jetlinks-ui-components';
import { ActionsType } from '@/views/device/Instance/typings';
import { useMenuStore } from '@/store/menu';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import dayjs from 'dayjs';
import { query, _delete, _start, _stop } from '@/api/edge/resource';
import Save from './Save/index.vue';
@ -340,10 +339,10 @@ const getActions = (
response = await _start([data.id]);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
edgeResourceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -363,10 +362,10 @@ const getActions = (
onConfirm: async () => {
const resp = await _delete(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
edgeResourceRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -23,7 +23,7 @@
<script setup lang="ts">
import { bootConfig } from '../typing';
import { useMenuStore } from '@/store/menu';
import { message } from 'ant-design-vue';
import { onlyMessage } from '@/utils/comm';
const { jumpPage: _jumpPage } = useMenuStore();
@ -37,7 +37,7 @@ const jumpPage = (item: bootConfig) => {
if (item.auth === undefined || item.auth) {
_jumpPage(item.link, item.params);
} else {
message.warning('暂无权限,请联系管理员');
onlyMessage('暂无权限,请联系管理员', 'warning');
}
};
</script>

View File

@ -25,9 +25,9 @@
</template>
<script setup lang="ts">
import { message } from 'ant-design-vue';
import { bootConfig } from '../typing';
import { useMenuStore } from '@/store/menu';
import { onlyMessage } from '@/utils/comm';
const props = defineProps({
cardData: Array<bootConfig>,
@ -40,7 +40,7 @@ const jumpPage = (item: bootConfig) => {
if (item.auth === undefined || item.auth) {
_jumpPage(item.link, item.params);
} else {
message.warning('暂无权限,请联系管理员');
onlyMessage('暂无权限,请联系管理员', 'warning');
}
};
</script>

View File

@ -26,9 +26,9 @@
<script setup lang="ts">
import { PropType } from 'vue';
import { message } from 'ant-design-vue';
import { recommendList } from '../typing';
import { useMenuStore } from '@/store/menu';
import { onlyMessage } from '@/utils/comm';
const { jumpPage: _jumpPage } = useMenuStore();
@ -41,7 +41,7 @@ const props = defineProps({
//
const jumpPage = (row: recommendList) => {
if (row.auth === false) {
return message.warning('暂无权限,请联系管理员');
return onlyMessage('暂无权限,请联系管理员', 'warning');
}
row.onClick ? row.onClick(row) : _jumpPage(row.linkUrl, row.params);
};

View File

@ -42,8 +42,8 @@
<script setup lang="ts">
import StatusLabel from '../StatusLabel.vue';
import { getDeviceList_api } from '@/api/home';
import { message } from 'ant-design-vue';
import moment from 'moment';
import { onlyMessage } from '@/utils/comm';
const emits = defineEmits(['confirm', 'update:visible']);
const props = defineProps<{
@ -53,7 +53,7 @@ const props = defineProps<{
//
const confirm = () => {
if (selectedKeys.value.length < 1) {
return message.warn('请选择设备');
return onlyMessage('请选择设备', 'warning');
}
emits('confirm', selectedKeys.value[0]);
emits('update:visible', false);

View File

@ -263,12 +263,12 @@
</template>
<script setup lang="ts">
import { modalState, formState, logoState } from '../data/interface';
import { Form, message } from 'jetlinks-ui-components';
import { Form } from 'jetlinks-ui-components';
import { FILE_UPLOAD } from '@/api/comm';
import {
save,
} from '@/api/initHome';
import { LocalStore, getImage } from '@/utils/comm';
import { LocalStore, getImage, onlyMessage } from '@/utils/comm';
import { TOKEN_KEY } from '@/utils/variable';
import { SystemConst } from '@/utils/consts';
const formRef = ref();
@ -375,12 +375,12 @@ const saveBasicInfo = () => {
const beforeLogoUpload = (file: any) => {
const isType: any = imageTypes.value.includes(file.type);
if (!isType) {
message.error(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`);
onlyMessage(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`, 'error');
return false;
}
const isSize = file.size / 1024 / 1024 < 4;
if (!isSize) {
message.error(`图片大小必须小于${4}M`);
onlyMessage(`图片大小必须小于${4}M`, 'error');
}
return isType && isSize;
};
@ -404,12 +404,12 @@ const handleChangeLogo = (info: any) => {
const beforeIconUpload = (file: any) => {
const isType = iconTypes.value.includes(file.type);
if (!isType) {
message.error('请上传ico格式的图片');
onlyMessage('请上传ico格式的图片', 'error');
return false;
}
const isSize = file.size / 1024 / 1024 < 1;
if (!isSize) {
message.error('支持1M以内的图片');
onlyMessage('支持1M以内的图片', 'error');
}
return isType && isSize;
};
@ -432,12 +432,12 @@ const changeIconUpload = (info: any) => {
const beforeBackUpload = (file: any) => {
const isType = imageTypes.value.includes(file.type);
if (!isType) {
message.error(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`);
onlyMessage(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`, 'error');
return false;
}
const isSize = file.size / 1024 / 1024 < 4;
if (!isSize) {
message.error(`图片大小必须小于${4}M`);
onlyMessage(`图片大小必须小于${4}M`, 'error');
}
return isType && isSize;
};

View File

@ -117,7 +117,7 @@
</template>
<script lang="ts" setup>
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import {
saveNetwork,
getResourcesCurrent,
@ -131,7 +131,6 @@ import {
} from '@/api/initHome';
import { modalState } from '../data/interface';
import type { Rule } from 'ant-design-vue/es/form';
import { message } from 'jetlinks-ui-components';
const formRef = ref();
/**
* 初始化数据状态
@ -321,7 +320,7 @@ const saveCurrentData = () => {
const { optionPorts, isSucessInit } = toRefs(initialization);
const handelSave = () => {
formRef.value.validate().then(() => {
message.success('保存成功');
onlyMessage('保存成功');
flag.value = true;
visible.value = false;
});

View File

@ -67,8 +67,7 @@ import InitData from './InitData/index.vue';
import { getInit, saveInit } from '@/api/initHome';
import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable';
import { FILE_UPLOAD } from '@/api/comm';
import { LocalStore } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
import { useUserInfo } from '@/store/userInfo';
const basicRef = ref();
const roleRef = ref();
@ -121,7 +120,7 @@ const submitData = async () => {
loading.value = false;
//
if (basicRes && menuRes && roleRes && initDataRes) {
message.success('保存成功');
onlyMessage('保存成功');
// //
const res = await saveInit();
if (res.status === 200) {

View File

@ -46,7 +46,7 @@
<script setup lang='ts'>
import { queryUnbounded, bind } from '@/api/iot-card/cardManagement'
import moment from 'moment'
import { message } from 'jetlinks-ui-components'
import { onlyMessage } from '@/utils/comm'
const emit = defineEmits(['change'])
@ -130,7 +130,7 @@ const handleOk = () => {
bind(props.cardId, _selectedRowKeys.value[0])
.then((resp: any) => {
if (resp.status === 200) {
message.success('操作成功')
onlyMessage('操作成功')
emit('change', true)
}
})

View File

@ -145,10 +145,10 @@ const getConfig = async () => {
// .then((resp: any) => {
// totalCount.value = resp.result.total;
// importStatus.value = true;
// message.success('');
// onlyMessage('');
// })
// .catch((err) => {
// message.error(err.response.data.message || '');
// onlyMessage(err.response.data.message || '', 'error');
// })
// .finally(() => {
// loading.value = false;

View File

@ -103,8 +103,7 @@ import {
add,
edit,
} from '@/api/iot-card/cardManagement';
import { message } from 'jetlinks-ui-components';
import { OperatorList, TypeList } from '@/views/iot-card/data';
import { onlyMessage } from '@/utils/comm';
const emit = defineEmits(['change']);
const props = defineProps({
@ -248,7 +247,7 @@ const handleOk = () => {
: await edit(toRaw(modelRef)).catch(err => err);
btnLoading.value = false;
if (resp.status === 200) {
message.success('操作成功')
onlyMessage('操作成功')
emit('change', true);
formRef.value.resetFields();
}

View File

@ -42,7 +42,6 @@ import { TOKEN_KEY } from '@/utils/variable';
import { LocalStore, onlyMessage } from '@/utils/comm';
import { downloadFileByUrl } from '@/utils/utils';
import { exportCard, _import } from '@/api/iot-card/cardManagement';
import { message } from 'jetlinks-ui-components';
type Emits = {
(e: 'update:modelValue', data: string[]): void;
@ -102,7 +101,8 @@ const uploadChange = async (info: Record<string, any>) => {
_import(props.product, { fileUrl: resp.result })
.then((response: any) => {
count.value = response.result?.total || 0
message.success('导入成功');
onlyMessage('导入成功');
errMessage.value = '';
})
.catch((err) => {
errMessage.value = err?.response?.data?.message || '导入失败'

View File

@ -415,9 +415,8 @@ import {
removeCards,
unbind,
} from '@/api/iot-card/cardManagement';
import { message } from 'jetlinks-ui-components';
import type { CardManagement } from './typing';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import BindDevice from './BindDevice.vue';
import Import from './Import.vue';
import Export from './Export.vue';
@ -635,7 +634,7 @@ const getActions = (
onConfirm: async () => {
unbind(data.id).then((resp: any) => {
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
cardManageRef.value?.reload();
}
});
@ -687,21 +686,21 @@ const getActions = (
if (data.cardStateType?.value === 'toBeActivated') {
changeDeploy(data.id).then((resp) => {
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
cardManageRef.value?.reload();
}
});
} else if (data.cardStateType?.value === 'deactivate') {
resumption(data.id).then((resp) => {
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
cardManageRef.value?.reload();
}
});
} else {
unDeploy(data.id).then((resp) => {
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
cardManageRef.value?.reload();
}
});
@ -722,10 +721,10 @@ const getActions = (
onConfirm: async () => {
const resp: any = await del(data.id);
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
cardManageRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -833,7 +832,7 @@ const bindDevice = (val: boolean) => {
*/
const handleActive = () => {
if (!_selectedRowKeys.value.length) {
return message.warn('请选择数据');
return onlyMessage('请选择数据', 'warning');
}
if (
_selectedRowKeys.value.length >= 10 &&
@ -841,11 +840,11 @@ const handleActive = () => {
) {
changeDeployBatch(_selectedRowKeys.value).then((res: any) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
}
});
} else {
message.warn('仅支持同一个运营商下且最少10条数据,最多100条数据');
onlyMessage('仅支持同一个运营商下且最少10条数据,最多100条数据', 'warning');
}
};
@ -859,11 +858,11 @@ const handleStop = () => {
) {
unDeployBatch(_selectedRowKeys.value).then((res: any) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
}
});
} else {
message.warn('仅支持同一个运营商下且最少10条数据,最多100条数据');
onlyMessage('仅支持同一个运营商下且最少10条数据,最多100条数据', 'warning');
}
};
@ -877,11 +876,11 @@ const handleResumption = () => {
) {
resumptionBatch(_selectedRowKeys.value).then((res: any) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
}
});
} else {
message.warn('仅支持同一个运营商下且最少10条数据,最多100条数据');
onlyMessage('仅支持同一个运营商下且最少10条数据,最多100条数据', 'warning');
}
};
@ -892,7 +891,7 @@ const handleSync = () => {
sync().then((res: any) => {
if (res.status === 200) {
cardManageRef.value?.reload();
message.success('同步状态成功');
onlyMessage('同步状态成功');
}
});
};
@ -902,12 +901,12 @@ const handleSync = () => {
*/
const handelRemove = async () => {
if (!_selectedRowKeys.value.length) {
message.error('请选择数据');
onlyMessage('请选择数据', 'error');
return;
}
const resp = await removeCards(_selectedRowKeys.value.map( v => ({ id:v })));
if (resp.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
_selectedRowKeys.value = [];
// _selectedRow.value = [];
cardManageRef.value?.reload();

View File

@ -88,14 +88,13 @@
</template>
<script setup lang="ts" name='IotCardHome'>
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import Guide from '../components/Guide.vue';
import moment from 'moment';
import { queryFlow, list } from '@/api/iot-card/home';
import * as echarts from 'echarts';
import { useMenuStore } from '@/store/menu';
import { usePermissionStore } from '@/store/permission';
import { message } from 'jetlinks-ui-components'
const { proxy } = <any>getCurrentInstance();
@ -180,7 +179,7 @@ const pieChartData = ref<any[]>([
const jumpPage = (data: GuideItemProps) => {
if (!data.auth){
message.warning('暂无权限,请联系管理员');
onlyMessage('暂无权限,请联系管理员', 'warning');
return
}
if (data.key === 'EQUIPMENT') {

View File

@ -132,9 +132,9 @@
<script lang="ts" setup>
import PlatformType from '@/views/iot-card/components/PlatformType.vue';
import { queryById, save, update } from '@/api/iot-card/platform';
import { message } from 'jetlinks-ui-components';
import Doc from '../doc/index.vue';
import { platformTypeList } from '../../data'
import { onlyMessage } from '@/utils/comm';
const router = useRouter();
const route = useRoute();
@ -219,7 +219,7 @@ const handleSave = async () => {
? await save(formData)
: await update({ id: route.params.id, ...formData });
if (res.status === 200) {
message.success('保存成功!');
onlyMessage('保存成功!');
router.back();
}
saveBtnLoading.value = false;

View File

@ -85,9 +85,8 @@
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import type { ActionsType } from '@/components/Table';
import { message } from 'jetlinks-ui-components';
import { queryList, update, del } from '@/api/iot-card/platform';
import { useMenuStore } from 'store/menu'
const menuStory = useMenuStore()
@ -150,7 +149,7 @@ const columns = [
const statusUpdate = async (data: any) => {
const res = await update(data);
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
platformRef.value?.reload();
}
};
@ -222,10 +221,10 @@ const getActions = (
onConfirm: async () => {
const resp: any = await del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
platformRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -68,7 +68,6 @@
<script lang="ts" setup>
import { queryPlatformNoPage, recharge } from '@/api/iot-card/cardManagement';
import { message } from 'jetlinks-ui-components';
import { PaymentMethod } from '@/views/iot-card/data';
import { onlyMessage } from '@/utils/comm'
@ -168,7 +167,7 @@ const handleOk = () => {
btnLoading.value = false;
if (resp.status === 200) {
if (resp.result === '失败') {
message.error('缴费失败')
onlyMessage('缴费失败', 'error')
} else if(!resp.result) {
onlyMessage('操作过于频繁,请稍后再试!', 'warning')
} else {

View File

@ -75,8 +75,8 @@ import { ID_Rule, Max_Length_64, Max_Length_200, RequiredStringFn } from '@/comp
import UploadFile from './UploadFile.vue'
import { FileUploadResult } from '@/views/link/plugin/typings'
import { add, update, vailIdFn } from '@/api/link/plugin'
import { message } from 'jetlinks-ui-components'
import { TypeMap } from './util'
import { onlyMessage } from '@/utils/comm'
const props = defineProps({
data: {
@ -139,7 +139,7 @@ const handleSave = async () => {
const resp = props.data.id ? await update(modelRef).catch(() => { success: false }) : await add(modelRef).catch(() => { success: false })
loading.value = false
if (resp.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
if (route.query.save && (window as any).onTabSaveSuccess) {
(window as any).onTabSaveSuccess(resp);
setTimeout(() => window.close(), 300);

View File

@ -134,9 +134,8 @@
<script setup lang='ts' name='PluginIndex'>
import SaveModal from './Save.vue'
import { getImage } from '@/utils/comm'
import { getImage, onlyMessage } from '@/utils/comm'
import { queryPage, removeFn, getTypes } from '@/api/link/plugin'
import { message } from 'jetlinks-ui-components'
import { TypeMap } from './util'
const route = useRoute()
@ -247,10 +246,10 @@ const getActions = (data: any) => {
onConfirm: async () => {
const resp = await removeFn(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
instanceRef.value?.reload();
} else {
message.error(resp?.message || '操作失败!');
onlyMessage(resp?.message || '操作失败!', 'error');
}
},
},

View File

@ -67,7 +67,7 @@
<script setup lang="ts">
import CascadeApi from '@/api/media/cascade';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
import { PropType } from 'vue';
const route = useRoute();
@ -171,7 +171,7 @@ const onSelectChange = (keys: string[]) => {
const loading = ref(false);
const handleSave = async () => {
if (!_selectedRowKeys.value.length) {
message.error('请勾选数据');
onlyMessage('请勾选数据', 'error');
return;
}
loading.value = true;
@ -181,11 +181,11 @@ const handleSave = async () => {
);
loading.value = false;
if (resp.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
_vis.value = false;
emit('submit');
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
};
</script>

View File

@ -156,8 +156,8 @@
<script setup lang="ts">
import CascadeApi from '@/api/media/cascade';
import { onlyMessage } from '@/utils/comm';
import type { ActionsType } from '@/views/device/Instance/typings';
import { message } from 'jetlinks-ui-components';
import BindChannel from './BindChannel/index.vue';
const route = useRoute();
@ -275,10 +275,10 @@ const getActions = (
[data.channelId],
);
if (resp.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -292,7 +292,7 @@ const getActions = (
*/
const handleMultipleUnbind = async () => {
if (!_selectedRowKeys.value.length) {
message.error('请先选择需要解绑的通道列表');
onlyMessage('请先选择需要解绑的通道列表', 'error');
return;
}
const channelIds = listRef.value?._dataSource
@ -303,10 +303,10 @@ const handleMultipleUnbind = async () => {
channelIds,
);
if (resp.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
};
@ -316,7 +316,7 @@ const handleMultipleUnbind = async () => {
const gbID = ref('');
const loading = ref(false);
const handleSave = async (data: any) => {
if (!gbID.value) message.error('请输入国标ID');
if (!gbID.value) onlyMessage('请输入国标ID', 'error');
if (!valid.value?.passed) return;
loading.value = true;
@ -325,12 +325,12 @@ const handleSave = async (data: any) => {
});
loading.value = false;
if (resp.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
valid.value = undefined;
gbID.value = '';
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
};

View File

@ -558,8 +558,7 @@
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import CascadeApi from '@/api/media/cascade';
const router = useRouter();
@ -753,7 +752,7 @@ const handleSubmit = () => {
btnLoading.value = true;
CascadeApi[id ? 'update' : 'save'](params)
.then(() => {
message.success('操作成功');
onlyMessage('操作成功');
router.back();
})
.finally(() => {

View File

@ -153,8 +153,7 @@
<script setup lang="ts">
import CascadeApi from '@/api/media/cascade';
import type { ActionsType } from '@/views/device/Instance/typings';
import { message } from 'jetlinks-ui-components';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import Publish from './Publish/index.vue';
import { useMenuStore } from 'store/menu';
@ -353,10 +352,10 @@ const getActions = (
: await CascadeApi.enabled(data.id);
if (res.success) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -376,10 +375,10 @@ const getActions = (
onConfirm: async () => {
const resp = await CascadeApi.del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -167,8 +167,8 @@
<script setup lang="ts">
import ChannelApi from '@/api/media/channel';
import { PropType } from 'vue';
import { message } from 'jetlinks-ui-components';
import type { Rule } from 'ant-design-vue/es/form';
import { onlyMessage } from '@/utils/comm';
const route = useRoute();
@ -305,11 +305,11 @@ const handleSubmit = () => {
: await ChannelApi.save(extraFormData);
btnLoading.value = false;
if (res.success) {
message.success('操作成功');
onlyMessage('操作成功');
_vis.value = false;
emit('submit');
} else {
message.error('操作失败');
onlyMessage('操作失败', 'error');
}
})
.catch((err: any) => {

View File

@ -149,6 +149,7 @@ import Live from './Live/index.vue';
import Tree from './Tree/index.vue';
import { cloneDeep } from 'lodash-es';
import { useElementSize } from '@vueuse/core';
import { onlyMessage } from '@/utils/comm';
const menuStory = useMenuStore();
const route = useRoute();
@ -294,10 +295,10 @@ const getActions = (
onConfirm: async () => {
const resp = await ChannelApi.del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -8,7 +8,7 @@
<script setup lang="ts">
import type { recordsItemType } from './typings';
import playBackApi from '@/api/media/playback';
import { message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
interface Props {
type: string;
@ -46,7 +46,7 @@ const downLoadCloud = (item: recordsItemType) => {
})
.then((res) => {
if (res.status === 200) {
message.success(
onlyMessage(
'操作成功。上传云端需要一定时间,请稍后查看云端数据',
);
}

View File

@ -38,6 +38,7 @@ import type { recordsItemType } from './typings';
import type { Dayjs } from 'dayjs';
import dayjs from 'dayjs';
import { useElementSize } from '@vueuse/core';
import { onlyMessage } from '@/utils/comm';
export type TimeChangeType = {
endTime: Dayjs;
@ -185,7 +186,7 @@ watch(
);
} else {
props.onChange(undefined);
message.error('没有可播放的视频资源');
onlyMessage('没有可播放的视频资源', 'error');
}
} else {
onChange(
@ -199,7 +200,7 @@ watch(
} else if (localToServer && localToServer.startTime) {
//
props.onChange(undefined);
message.error('没有可播放的视频资源');
onlyMessage('没有可播放的视频资源', 'error');
list.value = [];
} else {
//

View File

@ -167,9 +167,8 @@
</template>
<script setup lang="ts">
import { message } from 'jetlinks-ui-components';
import DeviceApi from '@/api/media/device';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { gatewayType } from '@/views/media/Device/typings';
import { providerType } from '../const';
import { usePermissionStore } from '@/store/permission';
@ -296,7 +295,7 @@ const handleOk = () => {
);
if (deployResp.success) {
emit('save', { ...res.result });
message.success('操作成功');
onlyMessage('操作成功');
handleCancel();
}
}

View File

@ -297,8 +297,7 @@
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import DeviceApi from '@/api/media/device';
import { PROVIDER_OPTIONS } from '@/views/media/Device/const';
import type { ProductType } from '@/views/media/Device/typings';
@ -417,7 +416,7 @@ const handleSubmit = () => {
? await DeviceApi.save(params)
: await DeviceApi.update(params);
if (res?.success) {
message.success('保存成功');
onlyMessage('保存成功');
history.back();
}
})

View File

@ -164,8 +164,7 @@
<script setup lang="ts">
import DeviceApi from '@/api/media/device';
import type { ActionsType } from '@/views/device/Instance/typings';
import { message } from 'jetlinks-ui-components';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { PROVIDER_OPTIONS } from '@/views/media/Device/const';
import { providerType } from './const';
import encodeQuery from '@/utils/encodeQuery';
@ -375,7 +374,7 @@ const getActions = (
onClick: async () => {
const res = await DeviceApi.updateChannels(data.id);
if (res.success) {
message.success('通道更新成功');
onlyMessage('通道更新成功');
listRef.value?.reload();
}
},
@ -393,10 +392,10 @@ const getActions = (
onConfirm: async () => {
const resp = await DeviceApi.del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
listRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -93,9 +93,9 @@ import { usePermissionStore } from '@/store/permission';
import type { bootConfig, recommendList } from '@/views/home/typing';
import deviceApi from '@/api/media/device';
import { message } from 'jetlinks-ui-components';
import { useMenuStore } from 'store/menu';
import { onlyMessage } from '@/utils/comm';
const menuStory = useMenuStore();
@ -140,7 +140,7 @@ const deviceStepDetails: recommendList[] = [
if (hasPermission('media/Device:view')) {
visible.value = true;
} else {
message.warning('暂无权限,请联系管理员');
onlyMessage('暂无权限,请联系管理员', 'warning');
}
},
},
@ -218,7 +218,7 @@ const handleSubmit = () => {
},
);
} else {
message.warning('请选择设备');
onlyMessage('请选择设备', 'warning');
}
};
</script>

View File

@ -112,13 +112,13 @@ import type {
TemplateFormData,
IVariableDefinitions,
} from '@/views/notice/Template/types';
import { message } from 'jetlinks-ui-components';
import ToUser from '@/views/notice/Template/Detail/components/ToUser.vue';
import ToOrg from '@/views/notice/Template/Detail/components/ToOrg.vue';
import ToTag from '@/views/notice/Template/Detail/components/ToTag.vue';
import type { Rule } from 'ant-design-vue/es/form';
import { phoneRegEx } from '@/utils/validate';
import { onlyMessage } from '@/utils/comm';
type Emits = {
(e: 'update:visible', data: boolean): void;
@ -246,7 +246,7 @@ const handleOk = () => {
ConfigApi.debug(params, props.data.id, formData.value.templateId)
.then((res) => {
if (res.success) {
message.success('操作成功');
onlyMessage('操作成功');
handleCancel();
}
})

View File

@ -323,9 +323,8 @@
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { Form } from 'jetlinks-ui-components';
import { message } from 'jetlinks-ui-components';
import type { ConfigFormData } from '../types';
import {
NOTICE_METHOD,
@ -555,7 +554,7 @@ const handleSubmit = () => {
res = await configApi.update(formData.value);
}
if (res?.success) {
message.success('保存成功');
onlyMessage('保存成功');
if (route.query?.notifyType) {
// @ts-ignore
window?.onTabSaveSuccess(res.result);

View File

@ -135,9 +135,9 @@
<script setup lang="ts" name="SyncUser">
import configApi from '@/api/notice/config';
import { PropType } from 'vue';
import { message } from 'jetlinks-ui-components';
import type { ActionsType } from '@/views/device/Instance/typings';
import { Form } from 'ant-design-vue';
import { onlyMessage } from '@/utils/comm';
const useForm = Form.useForm;
@ -268,7 +268,7 @@ const getActions = (
configApi
.unBindUser({ bindingId: data.bindId }, data.bindId)
.then(() => {
message.success('操作成功');
onlyMessage('操作成功');
getTableData();
});
},
@ -298,12 +298,12 @@ const handleAutoBind = async () => {
if (props.data.type === 'dingTalk') {
configApi.dingTalkBindUser(params, props.data.id).then(() => {
message.success('操作成功');
onlyMessage('操作成功');
getTableData();
});
} else if (props.data.type === 'weixin') {
configApi.weChatBindUser(params, props.data.id).then(() => {
message.success('操作成功');
onlyMessage('操作成功');
getTableData();
});
}
@ -473,7 +473,7 @@ const handleBindSubmit = () => {
configApi
.dingTalkBindUser([params], props.data.id)
.then(() => {
message.success('操作成功');
onlyMessage('操作成功');
bindVis.value = false;
getTableData();
})
@ -484,7 +484,7 @@ const handleBindSubmit = () => {
configApi
.weChatBindUser([params], props.data.id)
.then(() => {
message.success('操作成功');
onlyMessage('操作成功');
bindVis.value = false;
getTableData();
})

View File

@ -209,14 +209,13 @@
import ConfigApi from '@/api/notice/config';
import type { ActionsType } from '@/views/device/Instance/typings';
import { message } from 'jetlinks-ui-components';
import { NOTICE_METHOD, MSG_TYPE } from '@/views/notice/const';
import SyncUser from './SyncUser/index.vue';
import Debug from './Debug/index.vue';
import Log from './Log/index.vue';
import { downloadObject } from '@/utils/utils';
import { useMenuStore } from 'store/menu';
import { onlyMessage } from '@/utils/comm';
const menuStory = useMenuStore();
@ -332,19 +331,19 @@ const beforeUpload = (file: any) => {
const text = result.target?.result;
console.log('text: ', text);
if (!file.type.includes('json')) {
message.error('请上传json格式文件');
onlyMessage('请上传json格式文件', 'error');
return false;
}
try {
const data = JSON.parse(text || '{}');
const { success } = await ConfigApi.update(data);
if (success) {
message.success('操作成功');
onlyMessage('操作成功');
configRef.value.reload();
}
return true;
} catch {
// message.error('json');
// onlyMessage('json', 'error');
}
return true;
};
@ -401,10 +400,10 @@ const getActions = (
onConfirm: async () => {
const resp = await ConfigApi.del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
configRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -112,13 +112,13 @@ import type {
IVariableDefinitions,
BindConfig,
} from '@/views/notice/Template/types';
import { message } from 'jetlinks-ui-components';
import ToUser from '../Detail/components/ToUser.vue';
import ToOrg from '../Detail/components/ToOrg.vue';
import ToTag from '../Detail/components/ToTag.vue';
import type { Rule } from 'ant-design-vue/es/form';
import { phoneRegEx } from '@/utils/validate';
import { onlyMessage } from '@/utils/comm';
type Emits = {
(e: 'update:visible', data: boolean): void;
@ -247,7 +247,7 @@ const handleOk = () => {
TemplateApi.debug(params, formData.value.configId, props.data.id)
.then((res) => {
if (res.success) {
message.success('操作成功');
onlyMessage('操作成功');
handleCancel();
}
})

View File

@ -738,9 +738,9 @@
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { UploadChangeParam } from 'ant-design-vue';
import { message, Form } from 'jetlinks-ui-components';
import { Form } from 'jetlinks-ui-components';
import type { IVariableDefinitions, TemplateFormData } from '../types';
import {
NOTICE_METHOD,
@ -1247,7 +1247,7 @@ const handleSubmit = () => {
: await templateApi.save(formData.value);
if (res?.success) {
message.success('保存成功');
onlyMessage('保存成功');
if (route.query?.notifyType) {
// @ts-ignore
window?.onTabSaveSuccess(res.result);

View File

@ -207,12 +207,12 @@
<script setup lang="ts">
import TemplateApi from '@/api/notice/template';
import type { ActionsType } from '@/views/device/Instance/typings';
import { message } from 'jetlinks-ui-components';
import { NOTICE_METHOD, MSG_TYPE } from '@/views/notice/const';
import Debug from './Debug/index.vue';
import Log from './Log/index.vue';
import { downloadObject } from '@/utils/utils';
import { useMenuStore } from 'store/menu';
import { onlyMessage } from '@/utils/comm';
const menuStory = useMenuStore();
@ -330,19 +330,19 @@ const beforeUpload = (file: any) => {
const text = result.target?.result;
console.log('text: ', text);
if (!file.type.includes('json')) {
message.error('请上传json格式文件');
onlyMessage('请上传json格式文件', 'error');
return false;
}
try {
const data = JSON.parse(text || '{}');
const { success } = await TemplateApi.update(data);
if (success) {
message.success('操作成功');
onlyMessage('操作成功');
configRef.value.reload();
}
return true;
} catch {
// message.error('json');
// onlyMessage('json', 'error');
}
return true;
};
@ -399,10 +399,10 @@ const getActions = (
onConfirm: async () => {
const resp = await TemplateApi.del(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
configRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

View File

@ -50,7 +50,8 @@
<script lang="ts" setup>
import { saveOutputData } from '@/api/rule-engine/config';
import { Form, message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
import { Form } from 'jetlinks-ui-components';
const useForm = Form.useForm;
const formRef = ref();
const Myprops = defineProps({
@ -89,7 +90,7 @@ const save = () => {
exchangeType: 'consume',
}).then((res) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
emit('saveSuc');
}
});

View File

@ -60,7 +60,8 @@
<script lang="ts" setup>
import { saveOutputData } from '@/api/rule-engine/config';
import { Form, message } from 'jetlinks-ui-components';
import { onlyMessage } from '@/utils/comm';
import { Form } from 'jetlinks-ui-components';
const formRef = ref();
const useForm = Form.useForm;
const Myprops = defineProps({
@ -99,7 +100,7 @@ const save = () => {
exchangeType: 'producer',
}).then((res) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
emit('saveSuc');
}
});

View File

@ -82,10 +82,9 @@
</template>
<script lang="ts" setup>
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { queryLevel, saveLevel } from '@/api/rule-engine/config';
import { LevelItem } from './typing';
import { message } from 'jetlinks-ui-components';
import Io from './Io/index.vue';
const list = ref([
{
@ -110,7 +109,7 @@ getAlarmLevel();
const handleSaveLevel = async () => {
saveLevel(levels.value).then((res) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
}
});
};

View File

@ -80,8 +80,7 @@ import {
} from '@/api/rule-engine/configuration';
import { queryLevel } from '@/api/rule-engine/config';
import { query } from '@/api/rule-engine/scene';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import { useMenuStore } from '@/store/menu';
import { useRoute } from 'vue-router';
import { useAlarmConfigurationStore } from '@/store/alarm';
@ -204,7 +203,7 @@ const handleSave = async () => {
? await updata(form.value)
: await save(form.value);
if (res.status === 200) {
message.success('操作成功,请配置关联的场景联动');
onlyMessage('操作成功,请配置关联的场景联动');
loading.value = false;
if (res.result?.id) {
menuStory.jumpPage(

View File

@ -84,8 +84,7 @@
<script lang="ts" setup>
import { query } from '@/api/rule-engine/scene';
import { bindScene } from '@/api/rule-engine/configuration';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
const columns = [
{
title: '名称',
@ -217,11 +216,11 @@ const saveCorrelation = async () => {
});
const res = await bindScene([...list]);
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
emit('saveScene');
}
} else {
message.error('请选择至少一条数据');
onlyMessage('请选择至少一条数据', 'error');
}
};
const closeModal = () => {

View File

@ -99,8 +99,7 @@ import { query } from '@/api/rule-engine/scene';
import { unbindScene } from '@/api/rule-engine/configuration';
import { useRoute } from 'vue-router';
import type { ActionsType } from '@/components/Table';
import { getImage } from '@/utils/comm';
import { message } from 'jetlinks-ui-components';
import { getImage, onlyMessage } from '@/utils/comm';
import Save from './Save/index.vue';
import { useAlarmConfigurationStore } from '@/store/alarm';
import { storeToRefs } from 'pinia';
@ -157,7 +156,7 @@ const getActions = (
onConfirm: async () => {
const res = await unbindScene(id, [data.id]);
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
actionRef.value.reload();
}
},

View File

@ -21,13 +21,13 @@ import Base from './Base/index.vue';
import Scene from './Scene/index.vue';
import Log from './Log/indev.vue';
import { useRoute } from 'vue-router';
import { message } from 'ant-design-vue';
import { onlyMessage } from '@/utils/comm';
const route = useRoute();
const changeTabs = (e: any) => {
if (route.query?.id) {
activeKey.value = e;
} else {
message.error('请先保存基础配置');
onlyMessage('请先保存基础配置', 'error');
}
};
const activeKey = ref('1');

View File

@ -198,8 +198,7 @@ import {
import { queryLevel } from '@/api/rule-engine/config';
import { Store } from 'jetlinks-store';
import type { ActionsType } from '@/components/Table/index.vue';
import { message } from 'jetlinks-ui-components';
import { getImage } from '@/utils/comm';
import { getImage, onlyMessage } from '@/utils/comm';
import { useMenuStore } from '@/store/menu';
import encodeQuery from '@/utils/encodeQuery';
const params = ref<Record<string, any>>({});
@ -393,10 +392,10 @@ const getActions = (
});
_execute(scene).then((res) => {
if (res.status === 200) {
message.success('操作成功');
onlyMessage('操作成功');
tableRef.value?.reload();
} else {
message.error('操作失败');
onlyMessage('操作失败', 'error');
}
});
},
@ -443,10 +442,10 @@ const getActions = (
response = await _disable(data.id);
}
if (response && response.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
tableRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},
@ -466,10 +465,10 @@ const getActions = (
onConfirm: async () => {
const resp = await remove(data.id);
if (resp.status === 200) {
message.success('操作成功!');
onlyMessage('操作成功!');
tableRef.value?.reload();
} else {
message.error('操作失败!');
onlyMessage('操作失败!', 'error');
}
},
},

Some files were not shown because too many files have changed in this diff Show More