Browse Source

默认用户动态列

master
han\hanst 2 days ago
parent
commit
51d9c5b94c
  1. 85
      src/views/modules/sampleTracking/projectProofTracking.vue

85
src/views/modules/sampleTracking/projectProofTracking.vue

@ -1231,7 +1231,7 @@ import {
searchBusinessInfo8 searchBusinessInfo8
} from '@/api/factory/site.js' } from '@/api/factory/site.js'
import { queryCustomerList } from '@/api/customer/customer' import { queryCustomerList } from '@/api/customer/customer'
import { getTableDefaultListLanguage, getTableUserListLanguage } from '@/api/table.js'
import { getTableUserListLanguage } from '@/api/table.js'
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import Sortable from 'sortablejs' import Sortable from 'sortablejs'
@ -1659,7 +1659,6 @@ export default {
searchProjectManagerOptions: [], searchProjectManagerOptions: [],
searchPicOptions: [], searchPicOptions: [],
trackingColumnList: cloneDefaultTrackingColumns(), trackingColumnList: cloneDefaultTrackingColumns(),
hasUserTrackingColumnConfig: false,
processColumns: cloneDefaultProcessColumns(), processColumns: cloneDefaultProcessColumns(),
processCodeLabelMap: buildProcessCodeLabelMapByRows(cloneDefaultProcessColumns()), processCodeLabelMap: buildProcessCodeLabelMapByRows(cloneDefaultProcessColumns()),
trackingTableSortProp: '', trackingTableSortProp: '',
@ -1858,11 +1857,10 @@ export default {
}, },
computed: { computed: {
visibleTrackingColumns () { visibleTrackingColumns () {
const sourceColumns = this.hasUserTrackingColumnConfig
? (Array.isArray(this.trackingColumnList) ? this.trackingColumnList : [])
: ((Array.isArray(this.trackingColumnList) && this.trackingColumnList.length > 0)
//
const sourceColumns = Array.isArray(this.trackingColumnList) && this.trackingColumnList.length > 0
? this.trackingColumnList ? this.trackingColumnList
: this.buildDefaultTrackingColumns())
: this.buildDefaultTrackingColumns()
return sourceColumns.filter(item => this.isTrackingColumnVisible(item)) return sourceColumns.filter(item => this.isTrackingColumnVisible(item))
}, },
visibleProcessColumns () { visibleProcessColumns () {
@ -1986,7 +1984,7 @@ export default {
columnHidden: this.normalizeTrackingColumnBoolean(mergedItem.columnHidden, false) columnHidden: this.normalizeTrackingColumnBoolean(mergedItem.columnHidden, false)
}) })
}, },
normalizeTrackingColumns (rows, appendDefaultColumns) {
normalizeTrackingColumns (rows) {
const defaultColumns = this.buildDefaultTrackingColumns() const defaultColumns = this.buildDefaultTrackingColumns()
const defaultColumnMap = {} const defaultColumnMap = {}
defaultColumns.forEach(item => { defaultColumns.forEach(item => {
@ -1994,7 +1992,11 @@ export default {
}) })
const mergedRows = [] const mergedRows = []
const usedColumnPropMap = {} const usedColumnPropMap = {}
if (Array.isArray(rows)) {
if (!Array.isArray(rows)) {
return mergedRows
}
//
// status=false
rows.forEach(item => { rows.forEach(item => {
const columnProp = item && item.columnProp != null ? String(item.columnProp).trim() : '' const columnProp = item && item.columnProp != null ? String(item.columnProp).trim() : ''
if (!columnProp || usedColumnPropMap[columnProp]) { if (!columnProp || usedColumnPropMap[columnProp]) {
@ -2003,80 +2005,25 @@ export default {
usedColumnPropMap[columnProp] = true usedColumnPropMap[columnProp] = true
mergedRows.push(this.normalizeTrackingColumnItem(item, defaultColumnMap[columnProp])) mergedRows.push(this.normalizeTrackingColumnItem(item, defaultColumnMap[columnProp]))
}) })
}
if (appendDefaultColumns !== true) {
return mergedRows
}
//
defaultColumns.forEach((defaultItem, defaultIndex) => {
if (usedColumnPropMap[defaultItem.columnProp]) {
return
}
let insertIndex = mergedRows.length
for (let i = defaultIndex + 1; i < defaultColumns.length; i++) {
const nextProp = defaultColumns[i].columnProp
const matchedIndex = mergedRows.findIndex(item => item.columnProp === nextProp)
if (matchedIndex > -1) {
insertIndex = matchedIndex
break
}
}
if (insertIndex === mergedRows.length) {
for (let i = defaultIndex - 1; i >= 0; i--) {
const prevProp = defaultColumns[i].columnProp
const matchedIndex = mergedRows.findIndex(item => item.columnProp === prevProp)
if (matchedIndex > -1) {
insertIndex = matchedIndex + 1
break
}
}
}
mergedRows.splice(insertIndex, 0, Object.assign({}, defaultItem))
usedColumnPropMap[defaultItem.columnProp] = true
})
return mergedRows return mergedRows
}, },
loadTrackingDefaultColumns (tableId) {
const queryTable = {
functionId: this.getTrackingColumnFunctionId(),
tableId: tableId,
languageCode: this.$i18n && this.$i18n.locale ? this.$i18n.locale : ''
}
return getTableDefaultListLanguage(queryTable).then(({ data }) => {
const rows = data && Array.isArray(data.rows) ? data.rows : []
this.hasUserTrackingColumnConfig = false
this.trackingColumnList = rows.length > 0
? this.normalizeTrackingColumns(rows, true)
: this.buildDefaultTrackingColumns()
this.refreshTrackingTableLayout()
return this.trackingColumnList
}).catch(() => {
this.hasUserTrackingColumnConfig = false
this.trackingColumnList = this.buildDefaultTrackingColumns()
this.refreshTrackingTableLayout()
return this.trackingColumnList
})
},
loadTrackingColumns () { loadTrackingColumns () {
const tableId = this.getTrackingColumnTableId()
const queryTableUser = { const queryTableUser = {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: this.getTrackingColumnFunctionId(), functionId: this.getTrackingColumnFunctionId(),
tableId: tableId,
status: true,
tableId: this.getTrackingColumnTableId(),
languageCode: this.$i18n && this.$i18n.locale ? this.$i18n.locale : '' languageCode: this.$i18n && this.$i18n.locale ? this.$i18n.locale : ''
} }
return getTableUserListLanguage(queryTableUser).then(({ data }) => { return getTableUserListLanguage(queryTableUser).then(({ data }) => {
const rows = data && Array.isArray(data.rows) ? data.rows : [] const rows = data && Array.isArray(data.rows) ? data.rows : []
if (rows.length > 0) {
this.hasUserTrackingColumnConfig = true
this.trackingColumnList = this.normalizeTrackingColumns(rows, true)
// status
// 退
this.trackingColumnList = rows.length > 0
? this.normalizeTrackingColumns(rows)
: this.buildDefaultTrackingColumns()
this.refreshTrackingTableLayout() this.refreshTrackingTableLayout()
return this.trackingColumnList return this.trackingColumnList
}
return this.loadTrackingDefaultColumns(tableId)
}).catch(() => { }).catch(() => {
this.hasUserTrackingColumnConfig = false
this.trackingColumnList = this.buildDefaultTrackingColumns() this.trackingColumnList = this.buildDefaultTrackingColumns()
this.refreshTrackingTableLayout() this.refreshTrackingTableLayout()
return this.trackingColumnList return this.trackingColumnList

Loading…
Cancel
Save