|
@@ -53,6 +53,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <Loading :visible="loading"></Loading>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
@@ -74,6 +76,7 @@ const props = defineProps({
|
|
items: Array
|
|
items: Array
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+const loading = ref(false)
|
|
const selectAll = ref(false) // 全选
|
|
const selectAll = ref(false) // 全选
|
|
const selectList = ref([]) // 选中列表
|
|
const selectList = ref([]) // 选中列表
|
|
const dealSelect = () => {
|
|
const dealSelect = () => {
|
|
@@ -125,12 +128,17 @@ const apiList = [ closeJobAdvertised, enableJobAdvertised, refreshJobAdvertised,
|
|
const handleAction = async (index, type, { id }) => {
|
|
const handleAction = async (index, type, { id }) => {
|
|
const ids = type ? props.items.filter(e => e.select).map(k => k.id) : [id]
|
|
const ids = type ? props.items.filter(e => e.select).map(k => k.id) : [id]
|
|
if (!ids.length && !index) return
|
|
if (!ids.length && !index) return
|
|
- await apiList[index](ids)
|
|
|
|
- Snackbar.success(t('common.operationSuccessful'))
|
|
|
|
- // 清空选项
|
|
|
|
- selectList.value = []
|
|
|
|
- selectAll.value = false
|
|
|
|
- emit('refresh')
|
|
|
|
|
|
+ loading.value = true
|
|
|
|
+ try {
|
|
|
|
+ await apiList[index](ids)
|
|
|
|
+ Snackbar.success(t('common.operationSuccessful'))
|
|
|
|
+ // 清空选项
|
|
|
|
+ selectList.value = []
|
|
|
|
+ selectAll.value = false
|
|
|
|
+ emit('refresh')
|
|
|
|
+ } finally {
|
|
|
|
+ loading.value = false
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|