mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-11 13:39:48 +08:00
fix: Zoom window in context info field. (#286)
This commit is contained in:
parent
5a38ada770
commit
5beca7630a
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<span>
|
<span>
|
||||||
<el-popover
|
<el-popover
|
||||||
v-if="(contextInfo && contextInfo.isActive) || reference.zoomWindowList.length"
|
v-if="(fieldAttributes.contextInfo && fieldAttributes.contextInfo.isActive) || fieldAttributes.reference.zoomWindowList.length"
|
||||||
ref="contextInfoField"
|
ref="contextInfoField"
|
||||||
placement="top"
|
placement="top"
|
||||||
width="300"
|
width="300"
|
||||||
@ -9,17 +9,17 @@
|
|||||||
>
|
>
|
||||||
<p
|
<p
|
||||||
class="pre-formatted"
|
class="pre-formatted"
|
||||||
v-html="contextInfo.messageText.msgText"
|
v-html="fieldAttributes.contextInfo.messageText.msgText"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<span class="custom-tittle-popover">
|
<span class="custom-tittle-popover">
|
||||||
{{ name }}
|
{{ fieldAttributes.name }}
|
||||||
</span>
|
</span>
|
||||||
<template v-if="!isEmptyValue(help)">
|
<template v-if="!isEmptyValue(fieldAttributes.help)">
|
||||||
: {{ help }}
|
: {{ fieldAttributes.help }}
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<template v-for="(zoomItem, index) in reference.zoomWindowList">
|
<template v-for="(zoomItem, index) in fieldAttributes.reference.zoomWindowList">
|
||||||
<el-button
|
<el-button
|
||||||
:key="index"
|
:key="index"
|
||||||
type="text"
|
type="text"
|
||||||
@ -31,37 +31,22 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
<span v-popover:contextInfoField>
|
<span v-popover:contextInfoField>
|
||||||
{{ name }}
|
{{ fieldAttributes.name }}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { showMessage } from '@/utils/ADempiere/notification'
|
import { showMessage } from '@/utils/ADempiere/notification'
|
||||||
|
import { recursiveTreeSearch } from '@/utils/ADempiere/valueUtils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'FieldContextInfo',
|
name: 'FieldContextInfo',
|
||||||
props: {
|
props: {
|
||||||
contextInfo: {
|
fieldAttributes: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
reference: {
|
|
||||||
type: Object,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
columnName: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
name: {
|
|
||||||
type: String,
|
|
||||||
default: undefined
|
|
||||||
},
|
|
||||||
help: {
|
|
||||||
type: String,
|
|
||||||
default: undefined
|
|
||||||
},
|
|
||||||
fieldValue: {
|
fieldValue: {
|
||||||
type: [Number, String, Boolean, Array, Object, Date],
|
type: [Number, String, Boolean, Array, Object, Date],
|
||||||
default: undefined
|
default: undefined
|
||||||
@ -85,18 +70,21 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
showMessage,
|
showMessage,
|
||||||
redirect({ window }) {
|
redirect({ window }) {
|
||||||
this.$store.dispatch('getWindowByUuid', {
|
const viewSearch = recursiveTreeSearch({
|
||||||
routes: this.permissionRoutes,
|
treeData: this.permissionRoutes,
|
||||||
windowUuid: window.uuid
|
attributeValue: window.uuid,
|
||||||
|
attributeName: 'meta',
|
||||||
|
secondAttribute: 'uuid',
|
||||||
|
attributeChilds: 'children'
|
||||||
})
|
})
|
||||||
const windowRoute = this.$store.getters.getWindowRoute(window.uuid)
|
|
||||||
if (windowRoute) {
|
if (viewSearch) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: windowRoute.name,
|
name: viewSearch.name,
|
||||||
query: {
|
query: {
|
||||||
action: 'advancedQuery',
|
action: 'advancedQuery',
|
||||||
tabParent: 0,
|
tabParent: 0,
|
||||||
[this.columnName]: this.value
|
[this.fieldAttributes.columnName]: this.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -20,12 +20,8 @@
|
|||||||
<template slot="label">
|
<template slot="label">
|
||||||
<field-context-info
|
<field-context-info
|
||||||
v-if="(field.contextInfo && field.contextInfo.isActive) || field.reference.zoomWindowList.length"
|
v-if="(field.contextInfo && field.contextInfo.isActive) || field.reference.zoomWindowList.length"
|
||||||
:name="field.name"
|
:field-attributes="fieldAttributes"
|
||||||
:field-value="field.value"
|
:field-value="field.value"
|
||||||
:help="field.help"
|
|
||||||
:context-info="field.contextInfo"
|
|
||||||
:reference="field.reference"
|
|
||||||
:column-name="field.columnName"
|
|
||||||
/>
|
/>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{ isFieldOnly() }}
|
{{ isFieldOnly() }}
|
||||||
@ -43,17 +39,7 @@
|
|||||||
<component
|
<component
|
||||||
:is="componentRender"
|
:is="componentRender"
|
||||||
:ref="field.columnName"
|
:ref="field.columnName"
|
||||||
:metadata="{
|
:metadata="fieldAttributes"
|
||||||
...field,
|
|
||||||
panelType,
|
|
||||||
inTable,
|
|
||||||
isAdvancedQuery,
|
|
||||||
// DOM properties
|
|
||||||
required: isMandatory(),
|
|
||||||
readonly: isReadOnly(),
|
|
||||||
displayed: isDisplayed(),
|
|
||||||
disabled: !field.isActive
|
|
||||||
}"
|
|
||||||
:value-model="recordDataFields"
|
:value-model="recordDataFields"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -63,15 +49,7 @@
|
|||||||
v-else
|
v-else
|
||||||
key="table-template"
|
key="table-template"
|
||||||
:class="classField"
|
:class="classField"
|
||||||
:metadata="{
|
:metadata="fieldAttributes"
|
||||||
...field,
|
|
||||||
panelType,
|
|
||||||
inTable,
|
|
||||||
// DOM properties
|
|
||||||
required: isMandatory(),
|
|
||||||
readonly: isReadOnly(),
|
|
||||||
disabled: !field.isActive
|
|
||||||
}"
|
|
||||||
:value-model="recordDataFields"
|
:value-model="recordDataFields"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -144,6 +122,19 @@ export default {
|
|||||||
componentRender() {
|
componentRender() {
|
||||||
return () => import(`@/components/ADempiere/Field/${this.field.componentPath}`)
|
return () => import(`@/components/ADempiere/Field/${this.field.componentPath}`)
|
||||||
},
|
},
|
||||||
|
fieldAttributes() {
|
||||||
|
return {
|
||||||
|
...this.field,
|
||||||
|
panelType: this.panelType,
|
||||||
|
inTable: this.inTable,
|
||||||
|
isAdvancedQuery: this.isAdvancedQuery,
|
||||||
|
// DOM properties
|
||||||
|
required: this.isMandatory(),
|
||||||
|
readonly: this.isReadOnly(),
|
||||||
|
displayed: this.isDisplayed(),
|
||||||
|
disabled: !this.field.isActive
|
||||||
|
}
|
||||||
|
},
|
||||||
getWidth() {
|
getWidth() {
|
||||||
return this.$store.getters.getWidthLayout
|
return this.$store.getters.getWidthLayout
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user