From 70a1cf21972743c9fbc3752e36e71a94220142d5 Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 11:51:17 +0800
Subject: [PATCH 01/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AE=BE?=
=?UTF-8?q?=E5=A4=87=E5=8A=9F=E8=83=BD-=E6=89=A7=E8=A1=8C=E5=8C=85?=
=?UTF-8?q?=E5=90=ABobject=E7=B1=BB=E5=9E=8B=E6=97=B6=E5=BC=82=E5=B8=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../device/Instance/Detail/Function/components/Simple.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/device/Instance/Detail/Function/components/Simple.vue b/src/views/device/Instance/Detail/Function/components/Simple.vue
index 7d659d77..e7c8eb57 100644
--- a/src/views/device/Instance/Detail/Function/components/Simple.vue
+++ b/src/views/device/Instance/Detail/Function/components/Simple.vue
@@ -177,7 +177,7 @@ const newFunctions = computed(() => {
required: tableItem.expands?.required
});
}
-
+
result.push({
...func,
table: array,
@@ -197,7 +197,7 @@ const handleExecute = async (func: any) => {
.then(async () => {
const obj = {};
func.table.forEach((item: any) => {
- if (item.type === 'object') {
+ if (item.type === 'object' && item.value) {
obj[item.id] = JSON.parse(item.value);
} else {
obj[item.id] = item.value;
From 8548138cf55b65ad6f7de265b355c426783a4581 Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 13:49:16 +0800
Subject: [PATCH 02/11] fix: bug#19087
* fix: bug#19087
---
build.sh | 4 ++--
src/views/device/Instance/Detail/Diagnose/Status/index.tsx | 2 +-
.../Scene/Save/components/DropdownButton/DropdownButton.vue | 2 +-
.../Scene/Save/components/ParamsDropdown/index.vue | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/build.sh b/build.sh
index 6ead7b78..6a9c288b 100644
--- a/build.sh
+++ b/build.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-docker build -t registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0-TEST .
-docker push registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0-TEST
+docker build -t registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0 .
+docker push registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0
diff --git a/src/views/device/Instance/Detail/Diagnose/Status/index.tsx b/src/views/device/Instance/Detail/Diagnose/Status/index.tsx
index 48707fe8..0e0a4ba4 100644
--- a/src/views/device/Instance/Detail/Diagnose/Status/index.tsx
+++ b/src/views/device/Instance/Detail/Diagnose/Status/index.tsx
@@ -1806,4 +1806,4 @@ const Status = defineComponent({
},
})
-export default Status
\ No newline at end of file
+export default Status
diff --git a/src/views/rule-engine/Scene/Save/components/DropdownButton/DropdownButton.vue b/src/views/rule-engine/Scene/Save/components/DropdownButton/DropdownButton.vue
index 4f00510e..d6eb252f 100644
--- a/src/views/rule-engine/Scene/Save/components/DropdownButton/DropdownButton.vue
+++ b/src/views/rule-engine/Scene/Save/components/DropdownButton/DropdownButton.vue
@@ -162,4 +162,4 @@ watchEffect(() => {
\ No newline at end of file
+
diff --git a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
index dfe205ac..103b5537 100644
--- a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
+++ b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
@@ -196,4 +196,4 @@ watchEffect(() => {
display: none;
}
}
-
\ No newline at end of file
+
From 8e5d797a403890d08baa1386ed65f6b480d0c33f Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 14:01:30 +0800
Subject: [PATCH 03/11] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9docker=E7=89=88?=
=?UTF-8?q?=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/build.sh b/build.sh
index 6a9c288b..6ead7b78 100644
--- a/build.sh
+++ b/build.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-docker build -t registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0 .
-docker push registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0
+docker build -t registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0-TEST .
+docker push registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.1.0-TEST
From 4ce90a88b53152899fedd4bb6e33d7bec8c62e42 Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 15:20:22 +0800
Subject: [PATCH 04/11] fix: bug#19121
---
src/utils/utils.ts | 10 +++++-----
src/views/account/Center/index.vue | 17 ++++++++++++++++-
2 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index c151afec..e313716c 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -71,8 +71,8 @@ export const isNoCommunity = !(localStorage.getItem(SystemConst.VERSION_CODE) ==
/**
* 生成随机数
- * @param length
- * @returns
+ * @param length
+ * @returns
*/
export const randomString = (length?: number) => {
const tempLength = length || 32;
@@ -87,8 +87,8 @@ export const randomString = (length?: number) => {
/**
* 时间戳转时分秒文本
- * @param time
- * @returns
+ * @param time
+ * @returns
*/
export const timestampFormat = (time: number) => {
let hour = 0;
@@ -182,4 +182,4 @@ export const EventEmitter = {
})
return this
}
-}
\ No newline at end of file
+}
diff --git a/src/views/account/Center/index.vue b/src/views/account/Center/index.vue
index 37bf2a66..2e9bf1cc 100644
--- a/src/views/account/Center/index.vue
+++ b/src/views/account/Center/index.vue
@@ -90,6 +90,7 @@ import {
} from '@/utils/consts';
import { usePermissionStore } from '@/store/permission';
import RoleShow from './components/RoleShow/index.vue';
+import {isNoCommunity} from "@/utils/utils";
const imageTypes = reactive([
'image/jpeg',
@@ -103,7 +104,8 @@ const imageTypes = reactive([
const user = useUserInfo();
type KeyType = 'HomeView' | 'BindThirdAccount' | 'Subscribe' | 'StationMessage';
-const list: { key: KeyType; title: string }[] = [
+console.log(isNoCommunity)
+const list: { key: KeyType; title: string }[] = isNoCommunity ? [
{
key: 'HomeView',
title: '首页视图',
@@ -120,6 +122,19 @@ const list: { key: KeyType; title: string }[] = [
key: 'StationMessage',
title: '站内信',
},
+] : [
+ {
+ key: 'HomeView',
+ title: '首页视图',
+ },
+ {
+ key: 'Subscribe',
+ title: '我的订阅',
+ },
+ {
+ key: 'StationMessage',
+ title: '站内信',
+ },
];
const tabs = {
From ec66a46e9657c8e176459b54cff6887a852c115f Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 16:17:11 +0800
Subject: [PATCH 05/11] fix: bug#17054
---
src/components/PermissionButton/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/PermissionButton/index.vue b/src/components/PermissionButton/index.vue
index 93310798..08028be5 100644
--- a/src/components/PermissionButton/index.vue
+++ b/src/components/PermissionButton/index.vue
@@ -1,7 +1,7 @@
-
+
@@ -120,4 +120,4 @@ const _isPermission = computed(() =>
\ No newline at end of file
+
From 633316ac841e0c72fea2e8972753576c3b773ef9 Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Mon, 23 Oct 2023 16:44:17 +0800
Subject: [PATCH 06/11] fix: bug#17054
---
.../Metadata/Base/components/Properties/Metrics/ValueItem.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/device/components/Metadata/Base/components/Properties/Metrics/ValueItem.vue b/src/views/device/components/Metadata/Base/components/Properties/Metrics/ValueItem.vue
index 28a7dca3..f587bcb2 100644
--- a/src/views/device/components/Metadata/Base/components/Properties/Metrics/ValueItem.vue
+++ b/src/views/device/components/Metadata/Base/components/Properties/Metrics/ValueItem.vue
@@ -120,7 +120,7 @@ const validator = (_: any, value: any) => {
}
const typeValidator = (_: any, value: any) => {
- if (value === undefined) {
+ if (value === undefined || value === null) {
return Promise.reject(validatorTip())
}
if (type === 'string' && value?.length > 64) {
@@ -146,7 +146,7 @@ const handleValueByType = (value: any, isRange: boolean = false) => {
const confirm = () => {
return new Promise((resolve, reject) => {
- formRef.value.validate().then(() => {
+ formRef.value.validate().then((res) => {
let value = props.value.range === true ? formData.rangeValue : formData.value
if (['int', 'long'].includes(type)) {
From d1dff882186ae96e09ac9b0bf8e176bf89f5fed3 Mon Sep 17 00:00:00 2001
From: qiaochuLei <124648559+qiaochuLei@users.noreply.github.com>
Date: Mon, 23 Oct 2023 18:11:14 +0800
Subject: [PATCH 07/11] =?UTF-8?q?*=20fix:=20=E5=AD=90=E8=AE=BE=E5=A4=87?=
=?UTF-8?q?=E7=BB=91=E5=AE=9A=E4=B8=8E=E8=A7=A3=E7=BB=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix: bug#19092、19086
* fix: 子设备绑定与解绑
---
src/components/FRuleEditor/Editor/index.vue | 62 ++++----
src/components/FRuleEditor/index.vue | 30 +++-
src/views/device/DashBoard/index.vue | 2 +-
.../Instance/Detail/ChildDevice/index.vue | 146 +++++++-----------
src/views/device/Product/Save/index.vue | 5 +-
.../notice/Config/Detail/doc/Webhook.tsx | 8 +-
src/views/notice/Config/Detail/index.vue | 4 +-
src/views/notice/const.ts | 4 +-
8 files changed, 126 insertions(+), 135 deletions(-)
diff --git a/src/components/FRuleEditor/Editor/index.vue b/src/components/FRuleEditor/Editor/index.vue
index 9afca1b4..d4a1ab7c 100644
--- a/src/components/FRuleEditor/Editor/index.vue
+++ b/src/components/FRuleEditor/Editor/index.vue
@@ -29,7 +29,7 @@
-
@@ -41,11 +41,13 @@ import {
} from '@/api/device/instance';
import { useInstanceStore } from '@/store/instance';
import { useProductStore } from '@/store/product';
+import { cloneDeep } from 'lodash-es';
import { inject } from 'vue'
interface Props {
mode?: 'advance' | 'simple';
id?: string;
value?: string;
+ tips?: Array
}
const props = defineProps()
const target = inject('target')
@@ -71,28 +73,9 @@ type SymbolType = {
const typescriptTip = reactive({
typescript: ''
})
-
-const queryCode = () => {
- let id = ''
- if(target==='device'){
- id = instanceStore.current.id
- queryTypescript(id).then(res => {
- if (res.status===200) {
- typescriptTip.typescript = res.result
- }
- })
- }else if(target ==='product'){
- id = productStore.current.id
- queryProductTs(id).then(res => {
- if (res.status===200) {
- typescriptTip.typescript = res.result
- }
- })
- }
-
-}
-queryCode()
-
+const registrationTips = ref({
+ name: 'javascript'
+})
const editorInit = (editor: any, monaco: any) => {
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
@@ -200,11 +183,27 @@ const _value = computed({
})
const loading = ref(false)
-onMounted(() => {
- setTimeout(() => {
- loading.value = true;
- }, 100);
-})
+const queryCode = () => {
+ registrationTips.value.suggestions = cloneDeep(props.tips)
+ let id = ''
+ if(target==='device'){
+ id = instanceStore.current.id
+ queryTypescript(id).then(res => {
+ if (res.status===200) {
+ typescriptTip.typescript = res.result
+ }
+ })
+ }else if(target ==='product'){
+ id = productStore.current.id
+ queryProductTs(id).then(res => {
+ if (res.status===200) {
+ typescriptTip.typescript = res.result
+ }
+ })
+ }
+
+}
+
const addOperatorValue = (val: string) => {
editor.value?.insert(val)
@@ -220,6 +219,13 @@ defineExpose({
addOperatorValue
})
+onMounted(() => {
+ setTimeout(() => {
+ loading.value = true;
+ }, 100);
+})
+
+queryCode()
\ No newline at end of file
+
diff --git a/src/views/device/components/Metadata/Base/components/Events/ConfigParams.vue b/src/views/device/components/Metadata/Base/components/Events/ConfigParams.vue
index 6e654ca2..35053882 100644
--- a/src/views/device/components/Metadata/Base/components/Events/ConfigParams.vue
+++ b/src/views/device/components/Metadata/Base/components/Events/ConfigParams.vue
@@ -6,7 +6,15 @@
-
+
+
+ 配置
+
@@ -23,7 +31,7 @@ import {omit} from "lodash-es";
import {TypeStringMap, validatorConfig} from "../../columns";
const columns = [
- {
+ {
title: '参数标识',
dataIndex: 'id',
type: 'text',
@@ -52,7 +60,7 @@ const columns = [
]
}
},
- {
+ {
title: '参数名称',
dataIndex: 'name',
type: 'text',
@@ -139,6 +147,7 @@ const props = defineProps({
type: Array as PropType<{ label: string; value: string }[]>,
default: () => [],
},
+ hasPermission: String,
});
const value = ref(props.value.properties);
@@ -151,7 +160,7 @@ const confirm = (data: any) => {
})
console.log('ConfigParams',newObject)
-
+
emit('update:value', {
properties: newObject,
type: 'object',
diff --git a/src/views/device/components/Metadata/Base/components/Function/InputParams.vue b/src/views/device/components/Metadata/Base/components/Function/InputParams.vue
index 0feb48a0..5c1ab244 100644
--- a/src/views/device/components/Metadata/Base/components/Function/InputParams.vue
+++ b/src/views/device/components/Metadata/Base/components/Function/InputParams.vue
@@ -9,7 +9,14 @@
-
+
+
+ 配置
+
@@ -43,6 +50,7 @@ const props = defineProps({
type: Array as PropType<{ label: string; value: string }[]>,
default: () => [],
},
+ hasPermission: String,
});
const formItemContext = Form.useInjectFormItemContext();
diff --git a/src/views/device/components/Metadata/Base/components/ModelButton.vue b/src/views/device/components/Metadata/Base/components/ModelButton.vue
index 49793ff0..98014d17 100644
--- a/src/views/device/components/Metadata/Base/components/ModelButton.vue
+++ b/src/views/device/components/Metadata/Base/components/ModelButton.vue
@@ -17,4 +17,4 @@ const props = defineProps({
\ No newline at end of file
+
diff --git a/src/views/device/components/Metadata/Base/components/Properties/OtherSetting.vue b/src/views/device/components/Metadata/Base/components/Properties/OtherSetting.vue
index 3ec50f62..36a95a79 100644
--- a/src/views/device/components/Metadata/Base/components/Properties/OtherSetting.vue
+++ b/src/views/device/components/Metadata/Base/components/Properties/OtherSetting.vue
@@ -51,8 +51,17 @@
/>
-
-
+
+
+ 配置
+
@@ -88,6 +97,8 @@ const props = defineProps({
type: Object,
default: () => ({})
},
+ hasPermission: String,
+ tooltip: Object
})
const fullRef = inject(FULL_CODE);
@@ -225,4 +236,4 @@ watch(() => props.value, () => {
\ No newline at end of file
+
diff --git a/yarn.lock b/yarn.lock
index 3c153b78..bdaf773a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3738,10 +3738,10 @@ jetlinks-store@^0.0.3:
resolved "https://registry.npmjs.org/jetlinks-store/-/jetlinks-store-0.0.3.tgz"
integrity sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==
-jetlinks-ui-components@^1.0.33:
- version "1.0.33"
- resolved "http://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.33.tgz#49ce2b8c1e7be66272864728d5df82f834ec4490"
- integrity sha512-vYUP4MhzO6r0golmKqO8lHk8w5ldhAkgXWZfFII1Zoa7JtUwveqpSywTU23iSmCN+4muPaSLvHw713k6OdzLmg==
+jetlinks-ui-components@^1.0.34:
+ version "1.0.34"
+ resolved "https://registry.npmjs.org/jetlinks-ui-components/-/jetlinks-ui-components-1.0.34.tgz#e158f87cf626904fd97b63fa379dbea12dc0230f"
+ integrity sha512-1O41g3VYrwnHJ3AWCbfbTaq62B55EwLvOC9frbiF1y/Lf+GZBkK1D1R4+gFQF/pgDdonlZoaT5pE1mdZWXrfHQ==
dependencies:
"@vueuse/core" "^9.12.0"
"@vueuse/router" "^9.13.0"
From d255a0bc7880ed0ae2ff34d37b96bedfaf32579d Mon Sep 17 00:00:00 2001
From: XieYongHong <18010623010@163.com>
Date: Tue, 24 Oct 2023 15:28:34 +0800
Subject: [PATCH 09/11] fix: bug#18263
---
README.md | 12 ++++++++++++
package.json | 2 +-
src/App.vue | 6 +++++-
src/components/Layout/BasicLayoutPage.vue | 6 ++++--
src/main.ts | 2 +-
src/store/system.ts | 2 +-
src/style.less | 6 +++---
yarn.lock | 8 ++++----
8 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/README.md b/README.md
index d9709551..ee607b6f 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,18 @@ yarn dev:force
此处可以更改系统名称、主题色、系统logo、浏览器页签等
+#### 主题色
+
+```javascript
+// src/App.vue
+
+ConfigProvider.config({
+ theme: {
+ primaryColor: "#315efb"
+ }
+})
+```
+
#### 2.默认配置
在代码根目录找到`config\config.ts`文件
diff --git a/package.json b/package.json
index e3ce16ae..d6fd157d 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"event-source-polyfill": "^1.0.31",
"global": "^4.4.0",
"jetlinks-store": "^0.0.3",
- "jetlinks-ui-components": "^1.0.34",
+ "jetlinks-ui-components": "^1.0.34-2",
"js-cookie": "^3.0.1",
"jsencrypt": "^3.3.2",
"less": "^4.1.3",
diff --git a/src/App.vue b/src/App.vue
index 8c6581c2..0c14af16 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -15,7 +15,11 @@ const system = useSystem();
const {configInfo} = storeToRefs(system);
system.setDocumentTitle()
-
+ConfigProvider.config({
+ theme: {
+ primaryColor: "#315efb"
+ }
+})
\ No newline at end of file
+
diff --git a/src/views/rule-engine/Scene/Save/action/Device/Product.vue b/src/views/rule-engine/Scene/Save/action/Device/Product.vue
index 8bae768f..80006026 100644
--- a/src/views/rule-engine/Scene/Save/action/Device/Product.vue
+++ b/src/views/rule-engine/Scene/Save/action/Device/Product.vue
@@ -263,7 +263,6 @@ const productQuery = (p: any) => {
}
sorts.push({ name: 'createTime', order: 'desc' });
p.sorts = sorts;
- console.log('productQuery',p)
return queryProductList(p);
};