fix: export logic
(cherry picked from commit a227389e3e761e9b3fa4a981bf5779d5892699ec)
This commit is contained in:
parent
a89619080a
commit
a0fdf7013d
@ -10,6 +10,7 @@
|
||||
}"
|
||||
row-key="name"
|
||||
v-bind="$attrs"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="sm:mx-5 mx-3"
|
||||
@ -205,6 +206,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const pageLengthCount = defineModel()
|
||||
@ -229,7 +231,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
() => listBulkActionsRef.value?.customListActions,
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="mx-3 sm:mx-5"
|
||||
@ -201,6 +202,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const route = useRoute()
|
||||
@ -227,6 +229,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="sm:mx-5 mx-3"
|
||||
@ -245,6 +246,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const route = useRoute()
|
||||
@ -271,6 +273,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="sm:mx-5 mx-3"
|
||||
@ -191,6 +192,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const pageLengthCount = defineModel()
|
||||
@ -215,6 +217,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="sm:mx-5 mx-3"
|
||||
@ -250,7 +251,6 @@ const props = defineProps({
|
||||
}),
|
||||
},
|
||||
})
|
||||
|
||||
const emit = defineEmits([
|
||||
'loadMore',
|
||||
'updatePageCount',
|
||||
@ -258,6 +258,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const route = useRoute()
|
||||
@ -284,6 +285,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="sm:mx-5 mx-3"
|
||||
@ -186,6 +187,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const route = useRoute()
|
||||
@ -212,6 +214,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
resizeColumn: options.resizeColumn,
|
||||
}"
|
||||
row-key="name"
|
||||
ref="listViewRef"
|
||||
>
|
||||
<ListHeader
|
||||
class="mx-3 sm:mx-5"
|
||||
@ -207,6 +208,7 @@ const emit = defineEmits([
|
||||
'applyFilter',
|
||||
'applyLikeFilter',
|
||||
'likeDoc',
|
||||
'selectionsChanged',
|
||||
])
|
||||
|
||||
const pageLengthCount = defineModel()
|
||||
@ -231,6 +233,14 @@ watch(pageLengthCount, (val, old_value) => {
|
||||
})
|
||||
|
||||
const listBulkActionsRef = ref(null)
|
||||
const listViewRef = ref(null)
|
||||
|
||||
watch(
|
||||
() => Array.from(listViewRef.value?.selections || []),
|
||||
(selections) => {
|
||||
emit('selectionsChanged', selections)
|
||||
},
|
||||
)
|
||||
|
||||
defineExpose({
|
||||
customListActions: computed(
|
||||
|
||||
@ -545,6 +545,11 @@ function reload() {
|
||||
const showExportDialog = ref(false)
|
||||
const export_type = ref('Excel')
|
||||
const export_all = ref(false)
|
||||
const selectedRows = ref([])
|
||||
|
||||
function handleSelectionsChange(selections) {
|
||||
selectedRows.value = selections
|
||||
}
|
||||
|
||||
async function exportRows() {
|
||||
let fields = JSON.stringify(list.value.data.columns.map((f) => f.key))
|
||||
@ -560,7 +565,15 @@ async function exportRows() {
|
||||
page_length = list.value.data.total_count
|
||||
}
|
||||
|
||||
window.location.href = `/api/method/frappe.desk.reportview.export_query?file_format_type=${export_type.value}&title=${props.doctype}&doctype=${props.doctype}&fields=${fields}&filters=${filters}&order_by=${order_by}&page_length=${page_length}&start=0&view=Report&with_comment_count=1`
|
||||
let url = `/api/method/frappe.desk.reportview.export_query?file_format_type=${export_type.value}&title=${props.doctype}&doctype=${props.doctype}&fields=${fields}&filters=${filters}&order_by=${order_by}&page_length=${page_length}&start=0&view=Report&with_comment_count=1`
|
||||
|
||||
// Add selected items parameter if rows are selected
|
||||
if (selectedRows.value?.length && !export_all.value) {
|
||||
url += `&selected_items=${JSON.stringify(selectedRows.value)}`
|
||||
}
|
||||
|
||||
window.location.href = url
|
||||
|
||||
showExportDialog.value = false
|
||||
export_all.value = false
|
||||
export_type.value = 'Excel'
|
||||
@ -1336,6 +1349,7 @@ defineExpose({
|
||||
viewActions,
|
||||
viewsDropdownOptions,
|
||||
currentView,
|
||||
handleSelectionsChange,
|
||||
})
|
||||
|
||||
// Watchers
|
||||
|
||||
@ -41,6 +41,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div
|
||||
v-else-if="callLogs.data"
|
||||
|
||||
@ -44,6 +44,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div
|
||||
v-else-if="contacts.data"
|
||||
|
||||
@ -223,6 +223,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div v-else-if="deals.data" class="flex h-full items-center justify-center">
|
||||
<div
|
||||
|
||||
@ -45,6 +45,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div
|
||||
v-else-if="emailTemplates.data"
|
||||
|
||||
@ -249,6 +249,7 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="(selections) => viewControls.handleSelectionsChange(selections)"
|
||||
/>
|
||||
<div v-else-if="leads.data" class="flex h-full items-center justify-center">
|
||||
<div
|
||||
|
||||
@ -44,6 +44,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div
|
||||
v-else-if="organizations.data"
|
||||
|
||||
@ -172,6 +172,9 @@
|
||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
|
||||
@likeDoc="(data) => viewControls.likeDoc(data)"
|
||||
@selectionsChanged="
|
||||
(selections) => viewControls.handleSelectionsChange(selections)
|
||||
"
|
||||
/>
|
||||
<div v-else-if="tasks.data" class="flex h-full items-center justify-center">
|
||||
<div
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user