mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-11 05:11:59 +08:00
parent
c589cc1a20
commit
5bed6a5f45
@ -141,9 +141,10 @@ export default {
|
|||||||
}
|
}
|
||||||
if (this.metadata.displayed) {
|
if (this.metadata.displayed) {
|
||||||
if (!this.options.some(option => option.key === value)) {
|
if (!this.options.some(option => option.key === value)) {
|
||||||
|
const label = this.findLabel(value)
|
||||||
this.options.push({
|
this.options.push({
|
||||||
key: value,
|
key: value,
|
||||||
label: this.isEmptyValue(this.findLabel(value)) ? ' ' : this.findLabel(value)
|
label: this.isEmptyValue(label) ? ' ' : label
|
||||||
})
|
})
|
||||||
this.value = value
|
this.value = value
|
||||||
}
|
}
|
||||||
@ -170,7 +171,7 @@ export default {
|
|||||||
beforeMount() {
|
beforeMount() {
|
||||||
if (this.metadata.displayed) {
|
if (this.metadata.displayed) {
|
||||||
this.options = this.getterLookupAll
|
this.options = this.getterLookupAll
|
||||||
if (!this.isEmptyValue(this.value)) {
|
if (!this.isEmptyValue(this.value) && !this.metadata.isAdvancedQuery) {
|
||||||
if (!this.findLabel(this.value)) {
|
if (!this.findLabel(this.value)) {
|
||||||
if (!this.isEmptyValue(this.metadata.displayColumn)) {
|
if (!this.isEmptyValue(this.metadata.displayColumn)) {
|
||||||
// verify if exists to add
|
// verify if exists to add
|
||||||
@ -243,7 +244,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
remoteMethod() {
|
async remoteMethod() {
|
||||||
if (this.isEmptyValue(this.metadata.reference.query)) {
|
if (this.isEmptyValue(this.metadata.reference.query)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<span v-if="isContextInfo">
|
<span>
|
||||||
<el-popover
|
<el-popover
|
||||||
ref="contextInfoField"
|
ref="contextInfoField"
|
||||||
placement="top"
|
placement="top"
|
||||||
@ -16,7 +16,7 @@
|
|||||||
</span>
|
</span>
|
||||||
{{ fieldAttributes.help }}
|
{{ fieldAttributes.help }}
|
||||||
</div>
|
</div>
|
||||||
<template v-for="(zoomItem, index) in fieldAttributes.reference.zoomWindowList">
|
<template v-for="(zoomItem, index) in fieldAttributes.reference.windowsList">
|
||||||
<el-button
|
<el-button
|
||||||
:key="index"
|
:key="index"
|
||||||
type="text"
|
type="text"
|
||||||
@ -55,9 +55,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isContextInfo() {
|
|
||||||
return (this.fieldAttributes.contextInfo && this.fieldAttributes.contextInfo.isActive) || this.fieldAttributes.reference.zoomWindowList.length
|
|
||||||
},
|
|
||||||
permissionRoutes() {
|
permissionRoutes() {
|
||||||
return this.$store.getters.permission_routes
|
return this.$store.getters.permission_routes
|
||||||
}
|
}
|
||||||
|
@ -259,7 +259,7 @@ export default {
|
|||||||
},
|
},
|
||||||
isContextInfo() {
|
isContextInfo() {
|
||||||
if (!this.isAdvancedQuery) {
|
if (!this.isAdvancedQuery) {
|
||||||
return (this.field.contextInfo && this.field.contextInfo.isActive) || this.field.reference.zoomWindowList.length
|
return (this.field.contextInfo && this.field.contextInfo.isActive) || this.field.reference.windowsList.length
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -45,18 +45,18 @@ const lookup = {
|
|||||||
return getLookup({
|
return getLookup({
|
||||||
tableName,
|
tableName,
|
||||||
directQuery: parsedDirectQuery,
|
directQuery: parsedDirectQuery,
|
||||||
value: value
|
value
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(lookupItemResponse => {
|
||||||
const label = response.values.DisplayColumn
|
const label = lookupItemResponse.values.DisplayColumn
|
||||||
const option = {
|
const option = {
|
||||||
label: isEmptyValue(label) ? ' ' : label,
|
label: isEmptyValue(label) ? ' ' : label,
|
||||||
key: value // response.values.KeyColumn
|
key: value // lookupItemResponse.values.KeyColumn
|
||||||
}
|
}
|
||||||
|
|
||||||
commit('addLoockupItem', {
|
commit('addLoockupItem', {
|
||||||
option: option,
|
option,
|
||||||
value: value, // isNaN(objectParams.value) ? objectParams.value : parseInt(objectParams.value, 10),
|
value, // isNaN(objectParams.value) ? objectParams.value : parseInt(objectParams.value, 10),
|
||||||
parsedDirectQuery: directQuery,
|
parsedDirectQuery: directQuery,
|
||||||
tableName,
|
tableName,
|
||||||
roleUuid: getCurrentRole(),
|
roleUuid: getCurrentRole(),
|
||||||
@ -65,7 +65,7 @@ const lookup = {
|
|||||||
return option
|
return option
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.warn(`Get Lookup, Select Base - Error ${error.code}: ${error.message}`)
|
console.warn(`Get Lookup, Select Base - Error ${error.code}: ${error.message}.`)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@ -94,8 +94,8 @@ const lookup = {
|
|||||||
tableName,
|
tableName,
|
||||||
query: parsedQuery
|
query: parsedQuery
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(lookupListResponse => {
|
||||||
const options = response.recordsList.map(itemLookup => {
|
const options = lookupListResponse.recordsList.map(itemLookup => {
|
||||||
return {
|
return {
|
||||||
label: itemLookup.values.DisplayColumn,
|
label: itemLookup.values.DisplayColumn,
|
||||||
key: itemLookup.values.KeyColumn
|
key: itemLookup.values.KeyColumn
|
||||||
@ -112,7 +112,7 @@ const lookup = {
|
|||||||
return options
|
return options
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.warn(`Get Lookup List, Select Base - Error ${error.code}: ${error.message}`)
|
console.warn(`Get Lookup List, Select Base - Error ${error.code}: ${error.message}.`)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
deleteLookupList({ commit, state }, {
|
deleteLookupList({ commit, state }, {
|
||||||
|
@ -447,7 +447,7 @@ const panel = {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// show fields in query
|
// show fields in query
|
||||||
if (isShowedField && Object.keys(newValues).length) {
|
if (isShowedField && !isEmptyValue(newValues)) {
|
||||||
// join column names without duplicating it
|
// join column names without duplicating it
|
||||||
fieldsShowed = Array.from(new Set([
|
fieldsShowed = Array.from(new Set([
|
||||||
...fieldsShowed,
|
...fieldsShowed,
|
||||||
@ -617,6 +617,13 @@ const panel = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
commit('changeField', {
|
||||||
|
field,
|
||||||
|
newField: {
|
||||||
|
...field,
|
||||||
|
oldOperator: field.operator
|
||||||
|
}
|
||||||
|
})
|
||||||
dispatch('getObjectListFromCriteria', {
|
dispatch('getObjectListFromCriteria', {
|
||||||
parentUuid,
|
parentUuid,
|
||||||
containerUuid,
|
containerUuid,
|
||||||
@ -630,13 +637,6 @@ const panel = {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
commit('changeField', {
|
|
||||||
field,
|
|
||||||
newField: {
|
|
||||||
...field,
|
|
||||||
oldOperator: field.operator
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (response && response.length) {
|
if (response && response.length) {
|
||||||
dispatch('notifyPanelChange', {
|
dispatch('notifyPanelChange', {
|
||||||
parentUuid,
|
parentUuid,
|
||||||
|
@ -29,15 +29,6 @@ const windowControl = {
|
|||||||
addReferencesList(state, payload) {
|
addReferencesList(state, payload) {
|
||||||
state.references.push(payload)
|
state.references.push(payload)
|
||||||
},
|
},
|
||||||
deleteReference(state, payload) {
|
|
||||||
state.references = state.references.filter(itemReference => {
|
|
||||||
if (itemReference.parentUuid === payload.windowUuid &&
|
|
||||||
itemReference.recordUuid === payload.recordUuid) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
},
|
|
||||||
setDataLog(state, payload) {
|
setDataLog(state, payload) {
|
||||||
state.dataLog = payload
|
state.dataLog = payload
|
||||||
},
|
},
|
||||||
|
@ -27,7 +27,16 @@ export function generateField({
|
|||||||
const referenceType = componentReference.alias[0]
|
const referenceType = componentReference.alias[0]
|
||||||
|
|
||||||
let parsedDefaultValue = fieldToGenerate.defaultValue
|
let parsedDefaultValue = fieldToGenerate.defaultValue
|
||||||
if (!moreAttributes.isAdvancedQuery) {
|
let parsedDefaultValueTo = fieldToGenerate.defaultValueTo
|
||||||
|
let operator = 'EQUAL'
|
||||||
|
if (moreAttributes.isAdvancedQuery) {
|
||||||
|
parsedDefaultValue = undefined
|
||||||
|
parsedDefaultValueTo = undefined
|
||||||
|
|
||||||
|
if (['FieldText', 'FieldTextLong'].includes(componentReference.type)) {
|
||||||
|
operator = 'LIKE'
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (String(parsedDefaultValue).includes('@')) {
|
if (String(parsedDefaultValue).includes('@')) {
|
||||||
parsedDefaultValue = parseContext({
|
parsedDefaultValue = parseContext({
|
||||||
...moreAttributes,
|
...moreAttributes,
|
||||||
@ -58,16 +67,15 @@ export function generateField({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
parsedDefaultValue = parsedValueComponent({
|
|
||||||
fieldType: componentReference.type,
|
|
||||||
value: parsedDefaultValue,
|
|
||||||
referenceType,
|
|
||||||
isMandatory: fieldToGenerate.isMandatory
|
|
||||||
})
|
|
||||||
|
|
||||||
let parsedDefaultValueTo = fieldToGenerate.defaultValueTo
|
parsedDefaultValue = parsedValueComponent({
|
||||||
if (!moreAttributes.isAdvancedQuery) {
|
fieldType: componentReference.type,
|
||||||
|
value: parsedDefaultValue,
|
||||||
|
referenceType,
|
||||||
|
isMandatory: fieldToGenerate.isMandatory
|
||||||
|
})
|
||||||
|
|
||||||
|
// VALUE TO
|
||||||
// if (String(parsedDefaultValueTo).includes('@SQL=')) {
|
// if (String(parsedDefaultValueTo).includes('@SQL=')) {
|
||||||
// parsedDefaultValueTo.replace('@SQL=', '')
|
// parsedDefaultValueTo.replace('@SQL=', '')
|
||||||
if (String(parsedDefaultValueTo).includes('@')) {
|
if (String(parsedDefaultValueTo).includes('@')) {
|
||||||
@ -99,15 +107,15 @@ export function generateField({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
parsedDefaultValueTo = parsedValueComponent({
|
|
||||||
fieldType: componentReference.type,
|
|
||||||
value: parsedDefaultValueTo,
|
|
||||||
referenceType,
|
|
||||||
isMandatory: fieldToGenerate.isMandatory
|
|
||||||
})
|
|
||||||
|
|
||||||
fieldToGenerate.reference.zoomWindowList = fieldToGenerate.reference.windowsList
|
parsedDefaultValueTo = parsedValueComponent({
|
||||||
|
fieldType: componentReference.type,
|
||||||
|
value: parsedDefaultValueTo,
|
||||||
|
referenceType,
|
||||||
|
isMandatory: fieldToGenerate.isMandatory
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const field = {
|
const field = {
|
||||||
...fieldToGenerate,
|
...fieldToGenerate,
|
||||||
...moreAttributes,
|
...moreAttributes,
|
||||||
@ -135,14 +143,9 @@ export function generateField({
|
|||||||
isShowedTableFromUser: fieldToGenerate.isDisplayed,
|
isShowedTableFromUser: fieldToGenerate.isDisplayed,
|
||||||
isFixedTableColumn: false,
|
isFixedTableColumn: false,
|
||||||
// Advanced query
|
// Advanced query
|
||||||
operator: 'EQUAL', // current operator
|
operator, // current operator
|
||||||
oldOperator: undefined, // old operator
|
oldOperator: undefined, // old operator
|
||||||
defaultOperator: 'EQUAL'
|
defaultOperator: operator
|
||||||
}
|
|
||||||
|
|
||||||
if (moreAttributes.isAdvancedQuery && ['FieldText', 'FieldTextLong'].includes(field.componentPath)) {
|
|
||||||
field.operator = 'LIKE'
|
|
||||||
field.defaultOperator = 'LIKE'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// evaluate simple logics without context
|
// evaluate simple logics without context
|
||||||
@ -260,8 +263,8 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
|
|||||||
.filter(field => field.parentFieldsList && field.isActive)
|
.filter(field => field.parentFieldsList && field.isActive)
|
||||||
.forEach((field, index, list) => {
|
.forEach((field, index, list) => {
|
||||||
field.parentFieldsList.forEach(parentColumnName => {
|
field.parentFieldsList.forEach(parentColumnName => {
|
||||||
var parentField = list.find(parentField => {
|
const parentField = list.find(itemParentField => {
|
||||||
return parentField.columnName === parentColumnName && parentColumnName !== field.columnName
|
return itemParentField.columnName === parentColumnName && parentColumnName !== field.columnName
|
||||||
})
|
})
|
||||||
if (parentField) {
|
if (parentField) {
|
||||||
parentField.dependentFieldsList.push(field.columnName)
|
parentField.dependentFieldsList.push(field.columnName)
|
||||||
@ -380,7 +383,7 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
|
|||||||
* @return string type, assigned value to folder after evaluating the parameter
|
* @return string type, assigned value to folder after evaluating the parameter
|
||||||
*/
|
*/
|
||||||
export function evalutateTypeField(displayTypeId, isAllInfo = false) {
|
export function evalutateTypeField(displayTypeId, isAllInfo = false) {
|
||||||
var component = REFERENCES.find(reference => displayTypeId === reference.id)
|
const component = REFERENCES.find(reference => displayTypeId === reference.id)
|
||||||
if (isAllInfo) {
|
if (isAllInfo) {
|
||||||
return component
|
return component
|
||||||
}
|
}
|
||||||
@ -398,8 +401,7 @@ export function getFieldTemplate(attributesOverwrite) {
|
|||||||
directQuery: '',
|
directQuery: '',
|
||||||
parsedDirectQuery: '',
|
parsedDirectQuery: '',
|
||||||
validationCode: '',
|
validationCode: '',
|
||||||
windowsList: [],
|
windowsList: []
|
||||||
zoomWindowList: []
|
|
||||||
}
|
}
|
||||||
const newField = {
|
const newField = {
|
||||||
id: 0,
|
id: 0,
|
||||||
|
@ -16,8 +16,8 @@ export function isEmptyValue(value) {
|
|||||||
return Boolean(!value.trim().length)
|
return Boolean(!value.trim().length)
|
||||||
} else if (typeof value === 'function' || typeof value === 'number' || typeof value === 'boolean' || Object.prototype.toString.call(value) === '[object Date]') {
|
} else if (typeof value === 'function' || typeof value === 'number' || typeof value === 'boolean' || Object.prototype.toString.call(value) === '[object Date]') {
|
||||||
return false
|
return false
|
||||||
} else if (Object.prototype.toString.call(value) === '[object Map]' && value.size === 0) {
|
} else if (Object.prototype.toString.call(value) === '[object Map]' || Object.prototype.toString.call(value) === '[object Set]') {
|
||||||
return true
|
return Boolean(!value.size)
|
||||||
} else if (Array.isArray(value)) {
|
} else if (Array.isArray(value)) {
|
||||||
return Boolean(!value.length)
|
return Boolean(!value.length)
|
||||||
} else if (typeof value === 'object') {
|
} else if (typeof value === 'object') {
|
||||||
@ -37,9 +37,8 @@ export function typeValue(value) {
|
|||||||
} else if (typeof value === 'number') {
|
} else if (typeof value === 'number') {
|
||||||
if (value.isInteger()) {
|
if (value.isInteger()) {
|
||||||
return 'INTEGER'
|
return 'INTEGER'
|
||||||
} else {
|
|
||||||
return 'NUMBER'
|
|
||||||
}
|
}
|
||||||
|
return 'DOUBLE'
|
||||||
} else if (typeof value === 'boolean') {
|
} else if (typeof value === 'boolean') {
|
||||||
return 'BOOLEAN'
|
return 'BOOLEAN'
|
||||||
} else if (Object.prototype.toString.call(value) === '[object Date]') {
|
} else if (Object.prototype.toString.call(value) === '[object Date]') {
|
||||||
@ -278,8 +277,11 @@ export const recursiveTreeSearch = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Parsed value to component type
|
||||||
* @param {*} param0
|
* @param {mixed} value, value to parsed
|
||||||
|
* @param {string} fieldType, or componentPath
|
||||||
|
* @param {string} referenceType, reference in ADempiere
|
||||||
|
* @param {boolean} isMandatory, field is mandatory
|
||||||
*/
|
*/
|
||||||
export function parsedValueComponent({ fieldType, value, referenceType, isMandatory = false }) {
|
export function parsedValueComponent({ fieldType, value, referenceType, isMandatory = false }) {
|
||||||
if ((value === undefined || value === null) && !isMandatory) {
|
if ((value === undefined || value === null) && !isMandatory) {
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<div style="right: 0%; top: 40%; position: absolute;">
|
<div style="right: 0%; top: 40%; position: absolute;">
|
||||||
<el-button v-show="!show && !isMobile" type="info" icon="el-icon-info" circle style="float: right;" class="el-button-window" @click="conteInfo" />
|
<el-button v-show="!showContainerInfo && !isMobile" type="info" icon="el-icon-info" circle style="float: right;" class="el-button-window" @click="conteInfo" />
|
||||||
</div>
|
</div>
|
||||||
<div class="small-4 columns">
|
<div class="small-4 columns">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -343,13 +343,13 @@ export default {
|
|||||||
return 'container-info'
|
return 'container-info'
|
||||||
},
|
},
|
||||||
isSize() {
|
isSize() {
|
||||||
if (this.isMobile && (this.showContainerInfo)) {
|
if (this.isMobile && this.showContainerInfo) {
|
||||||
return 98
|
return 98
|
||||||
}
|
}
|
||||||
return 50
|
return 50
|
||||||
},
|
},
|
||||||
isSizePanel() {
|
isSizePanel() {
|
||||||
if (this.isMobile && (this.showContainerInfo)) {
|
if (this.isMobile && this.showContainerInfo) {
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
return 50
|
return 50
|
||||||
@ -385,13 +385,13 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
styleTableNavigation() {
|
styleTableNavigation() {
|
||||||
if (this.isShowedRecordNavigation && (this.isMobile)) {
|
if (this.isShowedRecordNavigation && this.isMobile) {
|
||||||
return 'open-datatable-aside-mobile'
|
return 'open-datatable-aside-mobile'
|
||||||
}
|
}
|
||||||
return 'open-datatable-aside'
|
return 'open-datatable-aside'
|
||||||
},
|
},
|
||||||
splitAreaStyle() {
|
splitAreaStyle() {
|
||||||
if (this.isShowedTabsChildren || (this.isMobile)) {
|
if (this.isShowedTabsChildren || this.isMobile) {
|
||||||
return {
|
return {
|
||||||
overflow: 'auto'
|
overflow: 'auto'
|
||||||
}
|
}
|
||||||
@ -465,7 +465,7 @@ export default {
|
|||||||
return this.getterDataRecordsAndSelection.record
|
return this.getterDataRecordsAndSelection.record
|
||||||
},
|
},
|
||||||
getTableName() {
|
getTableName() {
|
||||||
return this.$store.getters.getPanel(this.windowMetadata.firstTabUuid, false).tableName
|
return this.$store.getters.getTableNameFromTab(this.windowUuid, this.windowMetadata.firstTabUuid)
|
||||||
},
|
},
|
||||||
// current record
|
// current record
|
||||||
getRecord() {
|
getRecord() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user