diff --git a/plugin/antdv.ts b/plugin/antdv.ts index 1d051d09fa163076b559df1adf70e5e98f4b5600..fb7d12e381fcb6c2596fd43bfba1b4d427ac11ba 100644 --- a/plugin/antdv.ts +++ b/plugin/antdv.ts @@ -1,6 +1,6 @@ import type { IMatcher } from './jetlinks' - +// kebab-case 要求短语内的各个单词或缩写之间以-(连字符)做间隔 export function kebabCase(key: string) { const result = key.replace(/([A-Z])/g, ' $1').trim() return result.split(' ').join('-').toLowerCase() diff --git a/src/api/account/notificationSubscription.ts b/src/api/account/notificationSubscription.ts index f7dac85ccdbe0dba0fa8775c9733121a567ae5f8..afc034152cdf0c055b5fc983d387695bf963261c 100644 --- a/src/api/account/notificationSubscription.ts +++ b/src/api/account/notificationSubscription.ts @@ -30,7 +30,6 @@ export const getWechatOAuth2 = (configId: string, templateId: string, url: strin export const getDingTalkOAuth2 = (configId: string, url: string) => server.get(`/notifier/dingtalk/corp/${configId}/oauth2/binding-user-url?authCode=${url}`); // 获取oauth2授权的用户绑定码 - export const getUserBind = (type: 'wechat' | 'dingtalk', params: any) => server.get(`/notifier/${type}/corp/oauth2/user-bind-code`, params); // 根据绑定码绑定当前用户 diff --git a/src/api/rule-engine/configuration.ts b/src/api/rule-engine/configuration.ts index 964c26f173f100d20d14da6b33103ccd6497fe33..f4f20f2c572ed62d3046eb27ef2c149b816721bc 100644 --- a/src/api/rule-engine/configuration.ts +++ b/src/api/rule-engine/configuration.ts @@ -34,7 +34,7 @@ export const save = (data:any) =>server.post('/alarm/config',data); /** * 更新基础设置 */ -export const updata = (data:any) => server.patch('/alarm/config',data); +export const update = (data:any) => server.patch('/alarm/config',data); /** * 获取基础设置数据 */ diff --git a/src/store/alarm.ts b/src/store/alarm.ts index b0f998e4c1ea071d248b4fab30edf1bb40d9d9cc..5a6d6756daad3129179ce1a7c09d2c228071e33f 100644 --- a/src/store/alarm.ts +++ b/src/store/alarm.ts @@ -39,9 +39,7 @@ export const useAlarmStore = defineStore('alarm', () => { export const useAlarmConfigurationStore = defineStore('alarmConfigration', () => { const configurationData = reactive({ - current:{ - - } + current:{} }) return { configurationData } }) \ No newline at end of file diff --git a/src/store/department.ts b/src/store/department.ts index ca278f3771a2f699d152b1e6db9b30ee1c632bbd..afb92003bc6670a00068a682c74a12db12264664 100644 --- a/src/store/department.ts +++ b/src/store/department.ts @@ -12,9 +12,9 @@ export const useDepartmentStore = defineStore({ id: 'department', state: (): DepartmentStateType => ({ productId: undefined, - // 设备资产分配弹窗操作类型: - // 1. optType === 'handle': 手动点击资产分配按钮; - // 2. optType === ': 产品资产分配后, 自动弹出设备资产分配 + // 设备资产分配弹窗操作类型: + // 1. optType === 'handle': 手动点击资产分配按钮; + // 2. optType === '': 产品资产分配后, 自动弹出设备资产分配 optType: '', crossPageKeys: [], // 表格跨页多选的keys changedApis: {}, diff --git a/src/utils/consts.ts b/src/utils/consts.ts index c2561832413043b2f842b950b337597eb7b38b45..62c5acb1492e44e565ad41d88170572df940c20d 100644 --- a/src/utils/consts.ts +++ b/src/utils/consts.ts @@ -29,6 +29,7 @@ export const StatusColorEnum = { 'default': 'default', } +/** 系统设置 */ export const SystemConst = { API_BASE: 'api', SYSTEM_NAME: 'Jetlinks', @@ -52,7 +53,7 @@ export const USER_CENTER_MENU_CODE = 'account-center' export const USER_CENTER_MENU_BUTTON_CODE = 'user-center-passwd-update' export const messageSubscribe = 'message-subscribe' -/**协议列表 */ +/** 协议列表 */ export const protocolList = [ { label: 'OPC_UA', value: 'OPC_UA', alias: 'opc-ua' }, { label: 'MODBUS_TCP', value: 'MODBUS_TCP', alias: 'Modbus/TCP' }, diff --git a/src/views/device/Firmware/Task/Save/SelectDevices.vue b/src/views/device/Firmware/Task/Save/SelectDevices.vue index d080fdc10085f342fb3db337be9e0068c1618334..c969e687e7fe9f537bbe8cefeed3502b4250d137 100644 --- a/src/views/device/Firmware/Task/Save/SelectDevices.vue +++ b/src/views/device/Firmware/Task/Save/SelectDevices.vue @@ -266,7 +266,6 @@ onMounted(() => { if (props.data.id) { checkLable.value = updateSelect(props.data.deviceId); emit('update:modelValue', props.data.deviceId); - console.log(111, checkLable.value, props.data.deviceId); } } }, diff --git a/src/views/device/components/Metadata/Base/Base.vue b/src/views/device/components/Metadata/Base/Base.vue index 09b5e9c2ef70b88b4a70b8b6276ceeb13063e1e8..ca22d2a78a39caa2edaf32116afe87d25a815b4d 100644 --- a/src/views/device/components/Metadata/Base/Base.vue +++ b/src/views/device/components/Metadata/Base/Base.vue @@ -12,6 +12,7 @@ @change="(data) => dataSourceCache = data" > + + + + + + { }) provide('_dataSource', dataSourceCache) + const showDetail = (data: any) => { detailData.data = data + detailData.type = 'view' detailData.visible = true } const cancelDetailModal = () => { detailData.data = {} + detailData.type = 'view' detailData.visible = false } -const operateLimits = (action: 'add' | 'updata', types: MetadataType) => { +const showDrawer = (data: any, type: string) => { + detailData.data = data + detailData.type = type + detailData.visible = true +} + +const cancelDrawer = () => { + detailData.visible = false +} + +const operateLimits = (action: 'add' | 'update', types: MetadataType) => { return ( _target === 'device' && (instanceStore.detail.features || []).find((item: { id: string; name: string }) => item.id === limitsMap.get(`${types}-${action}`)) @@ -398,7 +463,6 @@ const getDataByType = () => { } const handleAddClick = async (_data?: any, index?: number) => { - const newObject = _data || getDataByType() const _addData = await tableRef.value.addItem(newObject, index) @@ -435,13 +499,16 @@ const editStatusChange = (status: boolean) => { } const handleSaveClick = async (next?: Function) => { - let resp = await tableRef.value.getData().finally(() => { - - }); + let resp = await tableRef.value.getData().finally(() => {}); + if(detailData.type === 'create') { + resp.push(detailData.data); + } if(resp) { - const virtual: any[] = []; const arr = resp.map((item: any) => { + if(detailData.type === 'edit' && item.id === detailData.data.id) { + item = detailData.data; + } if(item.expands?.virtualRule) { const triggerProperties = item.expands.virtualRule.triggerProperties const rule = omit(item.expands.virtualRule, ['triggerProperties']) @@ -488,7 +555,9 @@ const handleSaveClick = async (next?: Function) => { loading.value = false }) if(result.success) { - dataSource.value = resp + dataSource.value = arr + detailData.data = {} + detailData.type = '' tableRef.value.cleanEditStatus() editStatus.value = false onlyMessage('操作成功!') diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/EventDrawer.vue b/src/views/device/components/Metadata/Base/DetailDrawer/EventDrawer.vue new file mode 100644 index 0000000000000000000000000000000000000000..e3fec157264f53e92dee1f1a1066cc5e48c3449c --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/EventDrawer.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/FunctionDrawer.vue b/src/views/device/components/Metadata/Base/DetailDrawer/FunctionDrawer.vue new file mode 100644 index 0000000000000000000000000000000000000000..1540c6dc57232664bc651815814cadc9ac840b36 --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/FunctionDrawer.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/JsonView.vue b/src/views/device/components/Metadata/Base/DetailDrawer/JsonView.vue new file mode 100644 index 0000000000000000000000000000000000000000..95ad70215f786edee2374fe5258e38c1001ea15b --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/JsonView.vue @@ -0,0 +1,38 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/PropertiesDrawer.vue b/src/views/device/components/Metadata/Base/DetailDrawer/PropertiesDrawer.vue new file mode 100644 index 0000000000000000000000000000000000000000..f00aab5741ffaa4d9e4734f136bd06ce59d490ef --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/PropertiesDrawer.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/TagsDrawer.vue b/src/views/device/components/Metadata/Base/DetailDrawer/TagsDrawer.vue new file mode 100644 index 0000000000000000000000000000000000000000..2fd964bbf7223acecc48057c0cb1d52224688e4c --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/TagsDrawer.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/DetailDrawer/index.ts b/src/views/device/components/Metadata/Base/DetailDrawer/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..6e1a6530b88dba2691c57a2f9f2422750464ab4a --- /dev/null +++ b/src/views/device/components/Metadata/Base/DetailDrawer/index.ts @@ -0,0 +1,4 @@ +export { default as PropertiesDrawer } from './PropertiesDrawer.vue' +export { default as FunctionDrawer } from './FunctionDrawer.vue' +export { default as EventDrawer } from './EventDrawer.vue' +export { default as TagsDrawer } from './TagsDrawer.vue' \ No newline at end of file diff --git a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue index c177612614e7b2ab315bc573c4a5c401c2c4d9f6..303fa93b3bd59c0ad7eab2f9d30e2f0a0b9b24a7 100644 --- a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue +++ b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue @@ -59,6 +59,7 @@ +