From 84bf53266c2c28eb168e43e57d3d72f40746947e Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Tue, 24 Jun 2025 11:40:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=89=8D=E7=AB=AFsrc/views/?= =?UTF-8?q?=EF=BC=88mobile=EF=BC=8Cpanel=EF=BC=8Cshare=EF=BC=8Csystem?= =?UTF-8?q?=EF=BC=89=E7=9B=AE=E5=BD=95=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/mobile/directory/index.vue | 5 +- .../src/views/mobile/home/index.vue | 94 +++++++++--- .../src/views/mobile/login/index.vue | 21 ++- .../src/views/mobile/panel/Mobile.vue | 61 +++++++- .../src/views/mobile/panel/index.vue | 6 +- .../src/views/mobile/personal/index.vue | 61 ++++---- .../src/views/share/link/ShareProxy.ts | 20 ++- .../src/views/share/link/index.vue | 25 +-- .../src/views/share/link/mobile.vue | 25 +-- .../src/views/share/link/pwd.vue | 42 +++++- .../src/views/share/share/ShareGrid.vue | 88 ++++++++--- .../src/views/share/share/ShareHandler.vue | 10 +- .../src/views/share/share/ShareVisualHead.vue | 6 +- .../src/views/share/share/TicketEdit.vue | 70 ++++++++- .../system/parameter/basic/BasicEdit.vue | 2 +- .../system/parameter/map/GeometryEdit.vue | 2 +- .../views/system/parameter/map/OnlineMap.vue | 142 ++++++++---------- 17 files changed, 481 insertions(+), 199 deletions(-) diff --git a/core/core-frontend/src/views/mobile/directory/index.vue b/core/core-frontend/src/views/mobile/directory/index.vue index 1b76fcf..56d7f06 100644 --- a/core/core-frontend/src/views/mobile/directory/index.vue +++ b/core/core-frontend/src/views/mobile/directory/index.vue @@ -127,7 +127,7 @@ watch(filterText, val => { }) const dataClick = val => { - filterText.value = '' + if (val.extraFlag1 === 0) return if (val.leaf) { emits('hiddenTabbar', true) handleCellClick(val) @@ -155,7 +155,7 @@ const dfsTableData = arr => { } const getTree = async () => { - const request = { busiFlag: 'dashboard' } as BusiTreeRequest + const request = { busiFlag: 'dashboard', resourceTable: 'core' } as BusiTreeRequest await interactiveStore.setInteractive(request) const interactiveData = interactiveStore.getPanel const nodeData = interactiveData.treeNodes @@ -269,6 +269,7 @@ onMounted(() => { v-for="ele in activeTableData" :key="ele.id" @click="dataClick(ele)" + :style="{ color: ele.extraFlag1 === 0 ? '#bbbfc4' : '#1f2329' }" :label="ele.name" :nextlevel="!ele.leaf" :prefix-icon="ele.leaf ? icon_dashboard : dvFolder" diff --git a/core/core-frontend/src/views/mobile/home/index.vue b/core/core-frontend/src/views/mobile/home/index.vue index 21703e0..20efcf9 100644 --- a/core/core-frontend/src/views/mobile/home/index.vue +++ b/core/core-frontend/src/views/mobile/home/index.vue @@ -1,5 +1,5 @@ @@ -120,6 +170,15 @@ const onClickLeft = () => { --van-nav-bar-title-text-color: #1f2329; --van-font-bold: 500; --van-nav-bar-title-font-size: 17px; + + .top-nav_refresh { + position: absolute; + top: 14px; + right: 24px; + z-index: 10; + display: flex; + align-items: center; + } #preview-canvas-main { height: calc(100% - 44px) !important; } diff --git a/core/core-frontend/src/views/mobile/panel/index.vue b/core/core-frontend/src/views/mobile/panel/index.vue index 4db426b..ab136a4 100644 --- a/core/core-frontend/src/views/mobile/panel/index.vue +++ b/core/core-frontend/src/views/mobile/panel/index.vue @@ -87,7 +87,11 @@ const hanedleMessage = event => { mobileComponent['events'] = component['events'] mobileComponent['propValue'] = component['propValue'] mobileViewStyleSwitch(otherComponent) - useEmitt().emitter.emit('renderChart-' + component.id, otherComponent) + if (mobileComponent.component === 'VQuery') { + useEmitt().emitter.emit('renderChart-' + component.id, otherComponent) + } else if (mobileComponent.component === 'UserView') { + useEmitt().emitter.emit('calcData-' + component.id, otherComponent) + } } } diff --git a/core/core-frontend/src/views/mobile/personal/index.vue b/core/core-frontend/src/views/mobile/personal/index.vue index b17d3bd..31db8c4 100644 --- a/core/core-frontend/src/views/mobile/personal/index.vue +++ b/core/core-frontend/src/views/mobile/personal/index.vue @@ -162,7 +162,7 @@ const activeTableData = computed(() => { diff --git a/core/core-frontend/src/views/share/share/ShareHandler.vue b/core/core-frontend/src/views/share/share/ShareHandler.vue index baaae8a..11a2966 100644 --- a/core/core-frontend/src/views/share/share/ShareHandler.vue +++ b/core/core-frontend/src/views/share/share/ShareHandler.vue @@ -2,6 +2,7 @@ @@ -237,6 +238,7 @@ const { toClipboard } = useClipboard() const { t } = useI18n() const props = defineProps({ inGrid: propTypes.bool.def(false), + disabled: propTypes.bool.def(false), resourceId: propTypes.string.def(''), resourceType: propTypes.string.def(''), weight: propTypes.number.def(0), @@ -381,8 +383,10 @@ const closeLoading = () => { } const share = () => { - dialogVisible.value = true - loadShareInfo(validatePeRequire) + if (!props.disabled) { + dialogVisible.value = true + loadShareInfo(validatePeRequire) + } } const loadShareInfo = cb => { @@ -826,7 +830,7 @@ onMounted(() => { background-color: rgba(0, 0, 0, 0.1); color: #8f959e; &:hover { - border: 1px solid #0089ff; + box-shadow: 0 0 0 1px var(--ed-input-border-color, var(--ed-border-color)) inset; } input { color: #646a73; diff --git a/core/core-frontend/src/views/share/share/ShareVisualHead.vue b/core/core-frontend/src/views/share/share/ShareVisualHead.vue index d95dd2a..8113def 100644 --- a/core/core-frontend/src/views/share/share/ShareVisualHead.vue +++ b/core/core-frontend/src/views/share/share/ShareVisualHead.vue @@ -12,6 +12,7 @@ @@ -242,7 +243,8 @@ const { t } = useI18n() const props = defineProps({ resourceId: propTypes.string.def(''), resourceType: propTypes.string.def(''), - weight: propTypes.number.def(0) + weight: propTypes.number.def(0), + disabled: propTypes.bool.def(false) }) const popoverVisible = ref(false) const pwdRef = ref(null) @@ -847,7 +849,7 @@ defineExpose({ background-color: rgba(0, 0, 0, 0.1); color: #8f959e; &:hover { - border: 1px solid #0089ff; + box-shadow: 0 0 0 1px var(--ed-input-border-color, var(--ed-border-color)) inset; } input { color: #646a73; diff --git a/core/core-frontend/src/views/share/share/TicketEdit.vue b/core/core-frontend/src/views/share/share/TicketEdit.vue index db5fa7b..eeba28c 100644 --- a/core/core-frontend/src/views/share/share/TicketEdit.vue +++ b/core/core-frontend/src/views/share/share/TicketEdit.vue @@ -16,6 +16,7 @@ const { t } = useI18n() const dialogVisible = ref(false) const loadingInstance = ref(null) const ticketForm = ref() +const inputRefList = ref([]) const props = defineProps({ uuid: propTypes.string.def('') }) @@ -148,7 +149,8 @@ const args2ArgList = () => { const row = { name: key, val: JSON.stringify(val) } state.argList.push(row) } else { - const row = { name: key, val: argObj[key] } + const tempArray = [val] + const row = { name: key, val: JSON.stringify(tempArray) } state.argList.push(row) } } @@ -165,11 +167,56 @@ const argList2Args = () => { const argObj = {} state.argList.forEach(row => { if (row.name && row.val) { - argObj[row.name] = row.val + argObj[row.name] = JSON.parse(row.val) } }) state.form.args = JSON.stringify(argObj) } +const setErrorStatus = (index, value, status?: boolean) => { + let valid = !!status + if (!value?.length) { + valid = true + } else if (status === null || typeof status === 'undefined') { + try { + JSON.parse(value) + valid = true + } catch (error) { + valid = false + } + } + const domRef = inputRefList[index] + const e = domRef.input + const className = 'link-ticket-error-msg' + const fullClassName = `.${className}` + if (valid) { + e.style = null + e.style.borderColor = null + const child = e.parentElement.querySelector(fullClassName) + if (child) { + e.parentElement['style'] = null + e.parentElement.removeChild(child) + } + } else { + const msg = 'JSON格式错误' + e.style.color = 'red' + e.style.borderColor = 'red' + e.parentElement['style']['box-shadow'] = '0 0 0 1px red inset' + const child = e.parentElement.querySelector(fullClassName) + if (!child) { + const errorDom = document.createElement('div') + errorDom.className = className + errorDom.innerText = msg + e.parentElement.appendChild(errorDom) + } else { + child.innerText = msg + } + } +} +const setInputRef = (el, index) => { + if (el) { + inputRefList[index] = el + } +} const copyTicket = async ticket => { const url = `${linkUrl.value}?ticket=${ticket}` try { @@ -212,7 +259,7 @@ defineExpose({ @@ -286,7 +333,12 @@ defineExpose({
- +
diff --git a/core/core-frontend/src/views/system/parameter/map/GeometryEdit.vue b/core/core-frontend/src/views/system/parameter/map/GeometryEdit.vue index f02b274..084add3 100644 --- a/core/core-frontend/src/views/system/parameter/map/GeometryEdit.vue +++ b/core/core-frontend/src/views/system/parameter/map/GeometryEdit.vue @@ -191,7 +191,7 @@ defineExpose({ diff --git a/core/core-frontend/src/views/system/parameter/map/OnlineMap.vue b/core/core-frontend/src/views/system/parameter/map/OnlineMap.vue index 9582fe6..d52ad54 100644 --- a/core/core-frontend/src/views/system/parameter/map/OnlineMap.vue +++ b/core/core-frontend/src/views/system/parameter/map/OnlineMap.vue @@ -7,6 +7,19 @@
+
+
+ {{ t('chart.map_type') }} +
+
+
+ + + + + + +
Key @@ -32,8 +45,21 @@ - -
+ + + +