Commit 22d0cb68a8e76a4c09616dbc26d64e359c5a4869
Merge branch 'main_dev' into local_dev_ft_fix_teambition_issue
Showing
3 changed files
with
51 additions
and
48 deletions
| 1 | +import { Platform } from './center.data'; | |
| 2 | +import { ConfigurationCenterItemsModal } from '/@/api/configuration/center/model/configurationCenterModal'; | |
| 3 | +import { useGlobSetting } from '/@/hooks/setting'; | |
| 4 | + | |
| 5 | +export enum ScadaModeEnum { | |
| 6 | + LIGHTBOX = 'lightbox', | |
| 7 | + DESIGN = 'design', | |
| 8 | + SHARE = 'share', | |
| 9 | +} | |
| 10 | + | |
| 11 | +interface ScadaLinkParamsType { | |
| 12 | + configurationId: string; | |
| 13 | + organizationId: string; | |
| 14 | + mode: ScadaModeEnum; | |
| 15 | + platform: Platform; | |
| 16 | + publicId?: string; | |
| 17 | +} | |
| 18 | + | |
| 1 | 19 | const getRandomString = () => Number(Math.random().toString().substring(2)).toString(36); |
| 2 | 20 | |
| 3 | 21 | export const encode = (record: Recordable) => { |
| ... | ... | @@ -13,3 +31,27 @@ export const encode = (record: Recordable) => { |
| 13 | 31 | hash = window.btoa(hash); |
| 14 | 32 | return hash; |
| 15 | 33 | }; |
| 34 | + | |
| 35 | +export const createScadaPageLink = ( | |
| 36 | + record: ConfigurationCenterItemsModal, | |
| 37 | + mode: ScadaModeEnum = ScadaModeEnum.DESIGN, | |
| 38 | + open = true | |
| 39 | +) => { | |
| 40 | + const { configurationPrefix } = useGlobSetting(); | |
| 41 | + const params: ScadaLinkParamsType = { | |
| 42 | + configurationId: record.id, | |
| 43 | + organizationId: record.organizationId!, | |
| 44 | + mode: mode, | |
| 45 | + platform: record.platform as Platform, | |
| 46 | + }; | |
| 47 | + | |
| 48 | + if (mode === ScadaModeEnum.SHARE) { | |
| 49 | + params.publicId = record.publicId; | |
| 50 | + } | |
| 51 | + | |
| 52 | + const href = new URL(location.origin); | |
| 53 | + href.pathname = configurationPrefix; | |
| 54 | + href.hash = encode(params); | |
| 55 | + open && window.open(href.href); | |
| 56 | + return href.href; | |
| 57 | +}; | ... | ... |
| ... | ... | @@ -14,14 +14,12 @@ |
| 14 | 14 | import { ConfigurationPermission, Platform, searchFormSchema } from './center.data'; |
| 15 | 15 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 16 | 16 | import { Authority } from '/@/components/Authority'; |
| 17 | - import { isDevMode } from '/@/utils/env'; | |
| 18 | 17 | import ConfigurationCenterDrawer from './ConfigurationCenterDrawer.vue'; |
| 19 | 18 | import { useDrawer } from '/@/components/Drawer'; |
| 20 | 19 | import { getBoundingClientRect } from '/@/utils/domUtils'; |
| 21 | 20 | import configurationSrc from '/@/assets/icons/configuration.svg'; |
| 22 | 21 | import { cloneDeep } from 'lodash'; |
| 23 | 22 | import { usePermission } from '/@/hooks/web/usePermission'; |
| 24 | - import { useGlobSetting } from '/@/hooks/setting'; | |
| 25 | 23 | import { AuthIcon, CardLayoutButton } from '/@/components/Widget'; |
| 26 | 24 | import AuthDropDown from '/@/components/Widget/AuthDropDown.vue'; |
| 27 | 25 | import { ShareModal } from '/@/views/common/ShareModal'; |
| ... | ... | @@ -31,7 +29,7 @@ |
| 31 | 29 | import { useRole } from '/@/hooks/business/useRole'; |
| 32 | 30 | import { useClipboard } from '@vueuse/core'; |
| 33 | 31 | import { Icon } from '/@/components/Icon'; |
| 34 | - import { encode } from './help'; | |
| 32 | + import { createScadaPageLink, ScadaModeEnum } from './help'; | |
| 35 | 33 | |
| 36 | 34 | const listColumn = ref(5); |
| 37 | 35 | |
| ... | ... | @@ -131,49 +129,15 @@ |
| 131 | 129 | } |
| 132 | 130 | }; |
| 133 | 131 | |
| 134 | - const { configurationPrefix } = useGlobSetting(); | |
| 135 | - const isDev = isDevMode(); | |
| 136 | - | |
| 137 | 132 | const handlePreview = (record: ConfigurationCenterItemsModal) => { |
| 138 | 133 | if (!unref(getPreviewFlag)) return; |
| 139 | - // window.open( | |
| 140 | - // `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | |
| 141 | - // record!.id | |
| 142 | - // }&lightbox=1&organizationId=${record.organizationId}` | |
| 143 | - // ); | |
| 144 | - | |
| 145 | - const params = { | |
| 146 | - configurationId: record.id, | |
| 147 | - organizationId: record.organizationId, | |
| 148 | - mode: 'lightbox', | |
| 149 | - platform: record.platform, | |
| 150 | - }; | |
| 151 | - | |
| 152 | - const href = new URL(location.origin); | |
| 153 | - href.pathname = '/drawio'; | |
| 154 | - href.hash = encode(params); | |
| 155 | - window.open(href.href); | |
| 134 | + createScadaPageLink(record, ScadaModeEnum.LIGHTBOX); | |
| 156 | 135 | }; |
| 157 | 136 | |
| 158 | 137 | const handleDesign = (record: ConfigurationCenterItemsModal) => { |
| 159 | 138 | if (!unref(getDesignFlag)) return; |
| 160 | - // window.open( | |
| 161 | - // `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | |
| 162 | - // record!.id | |
| 163 | - // }&organizationId=${record.organizationId}` | |
| 164 | - // ); | |
| 165 | - | |
| 166 | - const params = { | |
| 167 | - configurationId: record.id, | |
| 168 | - organizationId: record.organizationId, | |
| 169 | - mode: 'design', | |
| 170 | - platform: record.platform, | |
| 171 | - }; | |
| 172 | - | |
| 173 | - const href = new URL(location.origin); | |
| 174 | - href.pathname = '/drawio'; | |
| 175 | - href.hash = encode(params); | |
| 176 | - window.open(href.href); | |
| 139 | + | |
| 140 | + createScadaPageLink(record, ScadaModeEnum.DESIGN); | |
| 177 | 141 | }; |
| 178 | 142 | |
| 179 | 143 | const handleDelete = async (record: ConfigurationCenterItemsModal) => { |
| ... | ... | @@ -190,14 +154,7 @@ |
| 190 | 154 | }; |
| 191 | 155 | |
| 192 | 156 | const createShareUrl = (record: ConfigurationCenterItemsModal) => { |
| 193 | - const searchParams = new URLSearchParams(); | |
| 194 | - isDev && searchParams.set('dev', '1'); | |
| 195 | - searchParams.set('share', 'SCADA'); | |
| 196 | - searchParams.set('configurationId', record.id); | |
| 197 | - searchParams.set('publicId', record.publicId || ''); | |
| 198 | - searchParams.set('lightbox', '1'); | |
| 199 | - searchParams.set('organizationId', record!.organizationId || ''); | |
| 200 | - return `${origin}${configurationPrefix}/?${searchParams.toString()}`; | |
| 157 | + return createScadaPageLink(record, ScadaModeEnum.SHARE, false); | |
| 201 | 158 | }; |
| 202 | 159 | |
| 203 | 160 | const { copied, copy } = useClipboard({ legacy: true }); | ... | ... |