@@ -185,43 +185,50 @@ const activeTableData = computed(() => {
left-arrow
@click-left="onClickLeft"
/>
-
-
- 组织
-
-
-
-
-
-
{{ ele }}
-
-
-
+
-
orgCellClick(type, ele)"
- v-for="ele in activeTableData"
- :key="ele.id"
- :label="ele.name"
- :nextlevel="ele.children"
- :active="name === ele.name"
- >
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 @@