mirror of
https://github.com/jumpserver/lina.git
synced 2026-01-15 14:24:39 +00:00
perf: add button loading status
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<Dialog
|
||||
ref="customDialog"
|
||||
:close-on-click-modal="false"
|
||||
:title="$tc('Assets')"
|
||||
:disabled-status="!isLoaded"
|
||||
custom-class="asset-select-dialog"
|
||||
top="2vh"
|
||||
v-bind="$attrs"
|
||||
@@ -67,6 +67,7 @@ export default {
|
||||
data() {
|
||||
const vm = this
|
||||
return {
|
||||
isLoaded: false,
|
||||
dialogVisible: false,
|
||||
rowSelected: _.cloneDeep(this.value) || [],
|
||||
rowsAdd: [],
|
||||
@@ -128,7 +129,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
handleTableLoaded() {
|
||||
this.$refs.customDialog.loaded()
|
||||
this.isLoaded = true
|
||||
},
|
||||
handleClose() {
|
||||
this.$refs.ListPage.$refs.TreeList.componentKey += 1
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
v-bind="$attrs"
|
||||
v-on="$listeners"
|
||||
>
|
||||
<div v-loading="!isLoaded">
|
||||
<div v-loading="disabledStatus">
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<el-button v-if="showCancel && showButtons" size="small" @click="onCancel">{{ cancelTitle }}</el-button>
|
||||
<el-button
|
||||
v-if="showConfirm && showButtons"
|
||||
:disabled="!isLoaded"
|
||||
:disabled="disabledStatus"
|
||||
size="small"
|
||||
type="primary"
|
||||
@click="onConfirm"
|
||||
@@ -83,7 +83,6 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isLoaded: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -92,9 +91,6 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loaded() {
|
||||
this.isLoaded = true
|
||||
},
|
||||
onCancel() {
|
||||
this.$emit('cancel')
|
||||
},
|
||||
|
||||
@@ -11,17 +11,17 @@
|
||||
/>
|
||||
<Dialog
|
||||
v-if="showTransfer"
|
||||
ref="customDialog"
|
||||
:close-on-click-modal="false"
|
||||
:title="label"
|
||||
:visible.sync="showTransfer"
|
||||
:disabled-status="!isLoaded"
|
||||
class="the-dialog"
|
||||
width="730px"
|
||||
@cancel="handleTransCancel"
|
||||
@confirm="handleTransConfirm"
|
||||
v-on="$listeners"
|
||||
>
|
||||
<krryPaging v-if="selectInitialized" ref="pageTransfer" class="transfer" v-bind="pagingTransfer" @loaded="handleLoaded" />
|
||||
<krryPaging v-if="selectInitialized" ref="pageTransfer" class="transfer" v-bind="pagingTransfer" />
|
||||
</Dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -80,12 +80,14 @@ export default {
|
||||
params['search'] = keyword
|
||||
}
|
||||
const data = await this.$axios.get(url, { params })
|
||||
this.isLoaded = true
|
||||
return data['results'].map(item => {
|
||||
const n = transformOption(item)
|
||||
return { id: n.value, label: n.label }
|
||||
})
|
||||
}
|
||||
return {
|
||||
isLoaded: false,
|
||||
showTransfer: false,
|
||||
selectInitialized: false,
|
||||
select2: {
|
||||
@@ -165,9 +167,6 @@ export default {
|
||||
this.select2.options = options
|
||||
this.emit(options.map(item => item.value))
|
||||
this.showTransfer = false
|
||||
},
|
||||
handleLoaded() {
|
||||
this.$refs.customDialog.loaded()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,8 +240,6 @@ export default {
|
||||
ele => !checkDataId.includes(ele.id)
|
||||
)
|
||||
}
|
||||
|
||||
this.$emit('loaded')
|
||||
},
|
||||
searchWord(keyword, titleId) {
|
||||
// 过滤掉数据,保留搜索的数据
|
||||
|
||||
Reference in New Issue
Block a user