mirror of
https://github.com/jumpserver/lina.git
synced 2025-08-02 07:27:01 +00:00
fix: select2添加axios参数无权限时不弹出提示
This commit is contained in:
parent
2b984cb456
commit
1bf3371a00
@ -88,6 +88,7 @@ export default {
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const vm = this
|
||||
const defaultPageSize = 10
|
||||
const defaultParams = {
|
||||
search: '',
|
||||
@ -95,7 +96,18 @@ export default {
|
||||
hasMore: true,
|
||||
pageSize: defaultPageSize
|
||||
}
|
||||
// 设置axios全局报错提示不显示
|
||||
const validateStatus = (status) => {
|
||||
if (status === 403) {
|
||||
setTimeout(() => {
|
||||
vm.initialized = true
|
||||
}, 300)
|
||||
return 200
|
||||
}
|
||||
return status
|
||||
}
|
||||
return {
|
||||
validateStatus,
|
||||
loading: false,
|
||||
initialized: false,
|
||||
defaultParams: _.cloneDeep(defaultParams),
|
||||
@ -150,7 +162,7 @@ export default {
|
||||
results = data
|
||||
total = data.length
|
||||
} else if (typeof data === 'object') {
|
||||
results = data.results
|
||||
results = data?.results || []
|
||||
more = !!data.next
|
||||
total = data.count
|
||||
}
|
||||
@ -163,7 +175,8 @@ export default {
|
||||
pageSize: defaultPageSize,
|
||||
makeParams: defaultMakeParams,
|
||||
transformOption: defaultTransformOption,
|
||||
processResults: defaultProcessResults
|
||||
processResults: defaultProcessResults,
|
||||
validateStatus: this.validateStatus
|
||||
}
|
||||
return Object.assign(defaultAjax, this.ajax, this.url ? { url: this.url } : {})
|
||||
}
|
||||
@ -231,9 +244,13 @@ export default {
|
||||
this.getOptions()
|
||||
},
|
||||
async getInitialOptions() {
|
||||
const { url, processResults, validateStatus } = this.iAjax
|
||||
const params = this.safeMakeParams(this.params)
|
||||
let data = await this.$axios.get(this.iAjax.url, { params: params })
|
||||
data = this.iAjax.processResults.bind(this)(data)
|
||||
let data = await this.$axios.get(url, {
|
||||
params,
|
||||
validateStatus
|
||||
})
|
||||
data = processResults.bind(this)(data)
|
||||
data.results.forEach((v) => {
|
||||
this.initialOptions.push(v)
|
||||
if (this.optionsValues.indexOf(v.value) === -1) {
|
||||
@ -251,9 +268,13 @@ export default {
|
||||
}
|
||||
},
|
||||
async getOptions() {
|
||||
const { url, processResults, validateStatus } = this.iAjax
|
||||
const params = this.safeMakeParams(this.params)
|
||||
const resp = await this.$axios.get(this.iAjax.url, { params: params })
|
||||
const data = this.iAjax.processResults.bind(this)(resp)
|
||||
const resp = await this.$axios.get(url, {
|
||||
params,
|
||||
validateStatus
|
||||
})
|
||||
const data = processResults.bind(this)(resp)
|
||||
if (!data.pagination) {
|
||||
this.params.hasMore = false
|
||||
}
|
||||
|
@ -217,9 +217,17 @@ export default {
|
||||
async loadHasObjects() {
|
||||
this.$log.debug('Start loadHasObject: ', this.params)
|
||||
const params = this.safeMakeParams(this.params)
|
||||
let data = await this.$axios.get(this.iAjax.url, { params: params })
|
||||
let data = await this.$axios.get(this.iAjax.url, {
|
||||
params: params,
|
||||
validateStatus: (status) => {
|
||||
if (status === 403) {
|
||||
return 200
|
||||
}
|
||||
return status
|
||||
}
|
||||
})
|
||||
data = this.iAjax.processResults.bind(this)(data)
|
||||
data.results.forEach((v) => {
|
||||
data.results && data.results.forEach((v) => {
|
||||
if (!this.hasObjects.find((item) => item.value === v.value)) {
|
||||
this.iHasObjects.push(v)
|
||||
}
|
||||
|
@ -81,7 +81,10 @@ export default {
|
||||
hasRefresh: true,
|
||||
hasSearch: true,
|
||||
hasMoreActions: false,
|
||||
createRoute: 'CommandFilterCreate'
|
||||
createRoute: 'CommandFilterCreate',
|
||||
canCreate: () => {
|
||||
return this.$hasPerm('assets.add_commandfilter')
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user