Commit ae397f60855b9c0674b0142ad3e1d28b819b0b58
Merge branch 'perf/things-model' into 'main_dev'
Perf/things model See merge request yunteng/thingskit-front!964
Showing
7 changed files
with
47 additions
and
12 deletions
@@ -8,7 +8,7 @@ VITE_GLOB_PUBLIC_PATH = / | @@ -8,7 +8,7 @@ VITE_GLOB_PUBLIC_PATH = / | ||
8 | # Please note that no line breaks | 8 | # Please note that no line breaks |
9 | 9 | ||
10 | # 本地 | 10 | # 本地 |
11 | -VITE_PROXY = [["/api","http://localhost:8080/api"],["/thingskit-scada","http://localhost:3000/"],["/large-designer", "http://localhost:5555/large-designer/"]] | 11 | +VITE_PROXY = [["/api","http://localhost:8080/api"],["/thingskit-scada","http://localhost:5173/thingskit-scada"],["/large-designer", "http://localhost:5555/large-designer/"]] |
12 | 12 | ||
13 | # 实时数据的ws地址 | 13 | # 实时数据的ws地址 |
14 | VITE_GLOB_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= | 14 | VITE_GLOB_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= |
@@ -22,9 +22,11 @@ | @@ -22,9 +22,11 @@ | ||
22 | value: ModelOfMatterParams[]; | 22 | value: ModelOfMatterParams[]; |
23 | disabled: boolean; | 23 | disabled: boolean; |
24 | hasStructForm?: boolean; | 24 | hasStructForm?: boolean; |
25 | + hiddenAccessMode?: boolean; | ||
25 | }>(), | 26 | }>(), |
26 | { | 27 | { |
27 | value: () => [], | 28 | value: () => [], |
29 | + hiddenAccessMode: false, | ||
28 | hasStructForm: false, | 30 | hasStructForm: false, |
29 | } | 31 | } |
30 | ); | 32 | ); |
@@ -106,11 +108,12 @@ | @@ -106,11 +108,12 @@ | ||
106 | <span class="mr-2"> | 108 | <span class="mr-2"> |
107 | <PlusOutlined /> | 109 | <PlusOutlined /> |
108 | </span> | 110 | </span> |
109 | - <span @click="!$props.disabled && handleCreateParams()">增加参数</span> | 111 | + <span @click="!disabled && handleCreateParams()">增加参数</span> |
110 | </div> | 112 | </div> |
111 | </div> | 113 | </div> |
112 | <StructFormModel | 114 | <StructFormModel |
113 | - :has-struct-form="$props.hasStructForm!" | 115 | + :has-struct-form="hasStructForm!" |
116 | + :hidden-access-mode="hiddenAccessMode" | ||
114 | :disabled="$props.disabled" | 117 | :disabled="$props.disabled" |
115 | :value-list="getValue" | 118 | :value-list="getValue" |
116 | @register="registerModal" | 119 | @register="registerModal" |
@@ -23,6 +23,7 @@ | @@ -23,6 +23,7 @@ | ||
23 | disabled: boolean; | 23 | disabled: boolean; |
24 | hasStructForm: boolean; | 24 | hasStructForm: boolean; |
25 | valueList: StructRecord[]; | 25 | valueList: StructRecord[]; |
26 | + hiddenAccessMode: boolean; | ||
26 | }>(); | 27 | }>(); |
27 | 28 | ||
28 | const emit = defineEmits(['register', 'submit']); | 29 | const emit = defineEmits(['register', 'submit']); |
@@ -31,7 +32,7 @@ | @@ -31,7 +32,7 @@ | ||
31 | 32 | ||
32 | const [register, { validate, setFieldsValue, setProps }] = useForm({ | 33 | const [register, { validate, setFieldsValue, setProps }] = useForm({ |
33 | labelWidth: 100, | 34 | labelWidth: 100, |
34 | - schemas: formSchemas(props.hasStructForm), | 35 | + schemas: formSchemas(props.hasStructForm, props.hiddenAccessMode), |
35 | actionColOptions: { | 36 | actionColOptions: { |
36 | span: 14, | 37 | span: 14, |
37 | }, | 38 | }, |
@@ -28,7 +28,11 @@ export const validateJSON = (_rule, value = [] as ModelOfMatterParams[], _callba | @@ -28,7 +28,11 @@ export const validateJSON = (_rule, value = [] as ModelOfMatterParams[], _callba | ||
28 | return Promise.reject('JSON对象不能为空'); | 28 | return Promise.reject('JSON对象不能为空'); |
29 | }; | 29 | }; |
30 | 30 | ||
31 | -export const formSchemas = (hasStructForm: boolean, isTcp = false): FormSchema[] => { | 31 | +export const formSchemas = ( |
32 | + hasStructForm: boolean, | ||
33 | + hiddenAccessMode: boolean, | ||
34 | + isTcp = false | ||
35 | +): FormSchema[] => { | ||
32 | return [ | 36 | return [ |
33 | { | 37 | { |
34 | field: FormField.FUNCTION_NAME, | 38 | field: FormField.FUNCTION_NAME, |
@@ -299,7 +303,7 @@ export const formSchemas = (hasStructForm: boolean, isTcp = false): FormSchema[] | @@ -299,7 +303,7 @@ export const formSchemas = (hasStructForm: boolean, isTcp = false): FormSchema[] | ||
299 | colProps: { | 303 | colProps: { |
300 | span: 24, | 304 | span: 24, |
301 | }, | 305 | }, |
302 | - ifShow: () => !hasStructForm, | 306 | + ifShow: () => !hiddenAccessMode && !hasStructForm, |
303 | defaultValue: 'r', | 307 | defaultValue: 'r', |
304 | componentProps: { | 308 | componentProps: { |
305 | placeholder: '请选择读写类型', | 309 | placeholder: '请选择读写类型', |
@@ -14,12 +14,14 @@ | @@ -14,12 +14,14 @@ | ||
14 | import { ConfigurationPermission, Platform, searchFormSchema } from './center.data'; | 14 | import { ConfigurationPermission, Platform, searchFormSchema } from './center.data'; |
15 | import { useMessage } from '/@/hooks/web/useMessage'; | 15 | import { useMessage } from '/@/hooks/web/useMessage'; |
16 | import { Authority } from '/@/components/Authority'; | 16 | import { Authority } from '/@/components/Authority'; |
17 | + import { isDevMode } from '/@/utils/env'; | ||
17 | import ConfigurationCenterDrawer from './ConfigurationCenterDrawer.vue'; | 18 | import ConfigurationCenterDrawer from './ConfigurationCenterDrawer.vue'; |
18 | import { useDrawer } from '/@/components/Drawer'; | 19 | import { useDrawer } from '/@/components/Drawer'; |
19 | import { getBoundingClientRect } from '/@/utils/domUtils'; | 20 | import { getBoundingClientRect } from '/@/utils/domUtils'; |
20 | import configurationSrc from '/@/assets/icons/configuration.svg'; | 21 | import configurationSrc from '/@/assets/icons/configuration.svg'; |
21 | import { cloneDeep } from 'lodash'; | 22 | import { cloneDeep } from 'lodash'; |
22 | import { usePermission } from '/@/hooks/web/usePermission'; | 23 | import { usePermission } from '/@/hooks/web/usePermission'; |
24 | + import { useGlobSetting } from '/@/hooks/setting'; | ||
23 | import { AuthIcon, CardLayoutButton } from '/@/components/Widget'; | 25 | import { AuthIcon, CardLayoutButton } from '/@/components/Widget'; |
24 | import AuthDropDown from '/@/components/Widget/AuthDropDown.vue'; | 26 | import AuthDropDown from '/@/components/Widget/AuthDropDown.vue'; |
25 | import { ShareModal } from '/@/views/common/ShareModal'; | 27 | import { ShareModal } from '/@/views/common/ShareModal'; |
@@ -29,7 +31,6 @@ | @@ -29,7 +31,6 @@ | ||
29 | import { useRole } from '/@/hooks/business/useRole'; | 31 | import { useRole } from '/@/hooks/business/useRole'; |
30 | import { useClipboard } from '@vueuse/core'; | 32 | import { useClipboard } from '@vueuse/core'; |
31 | import { Icon } from '/@/components/Icon'; | 33 | import { Icon } from '/@/components/Icon'; |
32 | - import { createScadaPageLink, ScadaModeEnum } from './help'; | ||
33 | 34 | ||
34 | const listColumn = ref(5); | 35 | const listColumn = ref(5); |
35 | 36 | ||
@@ -129,15 +130,25 @@ | @@ -129,15 +130,25 @@ | ||
129 | } | 130 | } |
130 | }; | 131 | }; |
131 | 132 | ||
133 | + const { configurationPrefix } = useGlobSetting(); | ||
134 | + const isDev = isDevMode(); | ||
135 | + | ||
132 | const handlePreview = (record: ConfigurationCenterItemsModal) => { | 136 | const handlePreview = (record: ConfigurationCenterItemsModal) => { |
133 | if (!unref(getPreviewFlag)) return; | 137 | if (!unref(getPreviewFlag)) return; |
134 | - createScadaPageLink(record, ScadaModeEnum.LIGHTBOX); | 138 | + window.open( |
139 | + `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | ||
140 | + record!.id | ||
141 | + }&lightbox=1&organizationId=${record.organizationId}` | ||
142 | + ); | ||
135 | }; | 143 | }; |
136 | 144 | ||
137 | const handleDesign = (record: ConfigurationCenterItemsModal) => { | 145 | const handleDesign = (record: ConfigurationCenterItemsModal) => { |
138 | if (!unref(getDesignFlag)) return; | 146 | if (!unref(getDesignFlag)) return; |
139 | - | ||
140 | - createScadaPageLink(record, ScadaModeEnum.DESIGN); | 147 | + window.open( |
148 | + `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | ||
149 | + record!.id | ||
150 | + }&organizationId=${record.organizationId}` | ||
151 | + ); | ||
141 | }; | 152 | }; |
142 | 153 | ||
143 | const handleDelete = async (record: ConfigurationCenterItemsModal) => { | 154 | const handleDelete = async (record: ConfigurationCenterItemsModal) => { |
@@ -154,7 +165,14 @@ | @@ -154,7 +165,14 @@ | ||
154 | }; | 165 | }; |
155 | 166 | ||
156 | const createShareUrl = (record: ConfigurationCenterItemsModal) => { | 167 | const createShareUrl = (record: ConfigurationCenterItemsModal) => { |
157 | - return createScadaPageLink(record, ScadaModeEnum.SHARE, false); | 168 | + const searchParams = new URLSearchParams(); |
169 | + isDev && searchParams.set('dev', '1'); | ||
170 | + searchParams.set('share', 'SCADA'); | ||
171 | + searchParams.set('configurationId', record.id); | ||
172 | + searchParams.set('publicId', record.publicId || ''); | ||
173 | + searchParams.set('lightbox', '1'); | ||
174 | + searchParams.set('organizationId', record!.organizationId || ''); | ||
175 | + return `${origin}${configurationPrefix}/?${searchParams.toString()}`; | ||
158 | }; | 176 | }; |
159 | 177 | ||
160 | const { copied, copy } = useClipboard({ legacy: true }); | 178 | const { copied, copy } = useClipboard({ legacy: true }); |
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | 19 | ||
20 | const [register, { validate, resetFields, setFieldsValue, setProps }] = useForm({ | 20 | const [register, { validate, resetFields, setFieldsValue, setProps }] = useForm({ |
21 | labelWidth: 100, | 21 | labelWidth: 100, |
22 | - schemas: formSchemas(false, props.transportType === TransportTypeEnum.TCP), | 22 | + schemas: formSchemas(false, false, props.transportType === TransportTypeEnum.TCP), |
23 | actionColOptions: { | 23 | actionColOptions: { |
24 | span: 14, | 24 | span: 14, |
25 | }, | 25 | }, |
@@ -143,6 +143,9 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | @@ -143,6 +143,9 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | ||
143 | rules: [{ message: '输入参数为必填项', required: true, type: 'array' }], | 143 | rules: [{ message: '输入参数为必填项', required: true, type: 'array' }], |
144 | ifShow: !tcpDeviceFlag, | 144 | ifShow: !tcpDeviceFlag, |
145 | colProps: { span: 24 }, | 145 | colProps: { span: 24 }, |
146 | + componentProps: { | ||
147 | + hiddenAccessMode: true, | ||
148 | + }, | ||
146 | }, | 149 | }, |
147 | { | 150 | { |
148 | field: FormField.OUTPUT_PARAM, | 151 | field: FormField.OUTPUT_PARAM, |
@@ -151,6 +154,9 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | @@ -151,6 +154,9 @@ export const serviceSchemas = (tcpDeviceFlag: boolean): FormSchema[] => { | ||
151 | valueField: 'value', | 154 | valueField: 'value', |
152 | changeEvent: 'update:value', | 155 | changeEvent: 'update:value', |
153 | colProps: { span: 24 }, | 156 | colProps: { span: 24 }, |
157 | + componentProps: { | ||
158 | + hiddenAccessMode: true, | ||
159 | + }, | ||
154 | }, | 160 | }, |
155 | { | 161 | { |
156 | field: FormField.REFARK, | 162 | field: FormField.REFARK, |
@@ -218,6 +224,9 @@ export const eventSchemas: FormSchema[] = [ | @@ -218,6 +224,9 @@ export const eventSchemas: FormSchema[] = [ | ||
218 | valueField: 'value', | 224 | valueField: 'value', |
219 | changeEvent: 'update:value', | 225 | changeEvent: 'update:value', |
220 | colProps: { span: 24 }, | 226 | colProps: { span: 24 }, |
227 | + componentProps: { | ||
228 | + hiddenAccessMode: true, | ||
229 | + }, | ||
221 | }, | 230 | }, |
222 | { | 231 | { |
223 | field: FormField.REFARK, | 232 | field: FormField.REFARK, |