提交
This commit is contained in:
1 parent
59fafb92d5
commit
6abfb6e251
1512 files changed
+1565614
-275592
No files matched your search
@@ -19,66 +19,18 @@
|
||||
<el-icon><Plus /></el-icon>
|
||||
新增记录
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1"
|
||||
@click="handleToolbarEdit"
|
||||
>
|
||||
<el-icon><Edit /></el-icon>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1 || !!selectedRows[0]?.hasWeighingSlip"
|
||||
@click="handleGenerateWeighing(selectedRows[0])"
|
||||
>
|
||||
<el-icon><Plus /></el-icon>
|
||||
{{
|
||||
selectedRows.length === 1 && selectedRows[0]?.hasWeighingSlip
|
||||
? '已生成地磅单'
|
||||
: '生成地磅单'
|
||||
}}
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1"
|
||||
@click="handleCopyFillLink(selectedRows[0])"
|
||||
>
|
||||
<el-icon><Link /></el-icon>
|
||||
磅单二维码
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
type="danger"
|
||||
:disabled="
|
||||
selectedRows.length !== 1 ||
|
||||
!canDeleteRecord(selectedRows[0]) ||
|
||||
!canDeleteByCreator(selectedRows[0])
|
||||
"
|
||||
:title="
|
||||
selectedRows.length === 1 ? getDeleteRecordDisabledTitle(selectedRows[0]) : ''
|
||||
"
|
||||
@click="handleToolbarDelete"
|
||||
>
|
||||
<el-icon><Delete /></el-icon>
|
||||
删除
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="hasClearableFilters"
|
||||
class="btn-ghost"
|
||||
@click="handleClearColumnFilters"
|
||||
>
|
||||
<el-icon><Filter /></el-icon>
|
||||
清空列过滤
|
||||
</el-button>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => inventoryApi.export(payload)"
|
||||
:get-filter-params="getInventoryExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="inventoryExportColumns"
|
||||
filename="出入库列表.xlsx"
|
||||
/>
|
||||
<ListToolbarOverflow :items="toolbarOverflowItems">
|
||||
<template #export>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => inventoryApi.export(payload)"
|
||||
:get-filter-params="getInventoryExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="inventoryExportColumns"
|
||||
filename="出入库列表.xlsx"
|
||||
/>
|
||||
</template>
|
||||
</ListToolbarOverflow>
|
||||
|
||||
<ListToolbarEndActions
|
||||
:loading="loading"
|
||||
@@ -606,6 +558,14 @@
|
||||
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
|
||||
import ListExportDropdown from '@/components/business/list-export-dropdown/index.vue'
|
||||
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
|
||||
import ListToolbarOverflow from '@/components/business/list-toolbar-overflow/index.vue'
|
||||
import type { ListToolbarOverflowItem } from '@/components/business/list-toolbar-overflow/types'
|
||||
import {
|
||||
overflowClearFiltersItem,
|
||||
overflowDeleteItem,
|
||||
overflowEditItem,
|
||||
overflowExportPlaceholder
|
||||
} from '@/utils/list-toolbar-overflow-items'
|
||||
import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue'
|
||||
import ColumnHeaderFilter from '@/components/business/column-header-filter/index.vue'
|
||||
import type { StatsRowColumn } from '@/utils/list-column-stats'
|
||||
@@ -754,6 +714,20 @@
|
||||
activeDateShortcut.value = 'today'
|
||||
}
|
||||
|
||||
const toolbarOverflowItems = computed<ListToolbarOverflowItem[]>(() => [
|
||||
overflowEditItem({
|
||||
disabled: selectedRows.value.length !== 1,
|
||||
onClick: () => handleToolbarEdit()
|
||||
}),
|
||||
overflowDeleteItem({
|
||||
disabled:
|
||||
selectedRows.value.length !== 1 || !canDeleteByCreator(selectedRows.value[0]),
|
||||
onClick: () => handleToolbarDelete()
|
||||
}),
|
||||
overflowExportPlaceholder(),
|
||||
overflowClearFiltersItem(hasClearableFilters.value, handleClearColumnFilters)
|
||||
])
|
||||
|
||||
const inventoryExportColumns = computed(() => {
|
||||
const cols = [...visibleColumns.value]
|
||||
if (!cols.includes('planNo')) cols.unshift('planNo')
|
||||
|
||||
@@ -19,52 +19,18 @@
|
||||
<el-icon><Plus /></el-icon>
|
||||
新增计划
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1"
|
||||
@click="handleToolbarEdit"
|
||||
>
|
||||
<el-icon><Edit /></el-icon>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1"
|
||||
@click="handleToolbarGenerateInventory"
|
||||
>
|
||||
<el-icon><DocumentAdd /></el-icon>
|
||||
生成出入库单
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
type="danger"
|
||||
:disabled="
|
||||
selectedRows.length !== 1 ||
|
||||
!canDeletePlanRecord(selectedRows[0]) ||
|
||||
!canDeleteByCreator(selectedRows[0])
|
||||
"
|
||||
:title="selectedRows.length === 1 ? getDeletePlanDisabledTitle(selectedRows[0]) : ''"
|
||||
@click="handleToolbarDelete"
|
||||
>
|
||||
<el-icon><Delete /></el-icon>
|
||||
删除
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="hasActiveFilters"
|
||||
class="btn-ghost"
|
||||
@click="clearAllFilters"
|
||||
>
|
||||
<el-icon><Filter /></el-icon>
|
||||
清空列过滤
|
||||
</el-button>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => planApi.export(payload)"
|
||||
:get-filter-params="getPlanExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="planExportColumns"
|
||||
filename="计划列表.xlsx"
|
||||
/>
|
||||
<ListToolbarOverflow :items="toolbarOverflowItems">
|
||||
<template #export>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => planApi.export(payload)"
|
||||
:get-filter-params="getPlanExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="planExportColumns"
|
||||
filename="计划列表.xlsx"
|
||||
/>
|
||||
</template>
|
||||
</ListToolbarOverflow>
|
||||
|
||||
<ListToolbarEndActions
|
||||
:loading="loading"
|
||||
@@ -553,6 +519,14 @@
|
||||
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
|
||||
import ListExportDropdown from '@/components/business/list-export-dropdown/index.vue'
|
||||
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
|
||||
import ListToolbarOverflow from '@/components/business/list-toolbar-overflow/index.vue'
|
||||
import type { ListToolbarOverflowItem } from '@/components/business/list-toolbar-overflow/types'
|
||||
import {
|
||||
overflowClearFiltersItem,
|
||||
overflowDeleteItem,
|
||||
overflowEditItem,
|
||||
overflowExportPlaceholder
|
||||
} from '@/utils/list-toolbar-overflow-items'
|
||||
import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue'
|
||||
import ColumnHeaderFilter from '@/components/business/column-header-filter/index.vue'
|
||||
import type { StatsRowColumn } from '@/utils/list-column-stats'
|
||||
@@ -929,6 +903,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
const toolbarOverflowItems = computed<ListToolbarOverflowItem[]>(() => [
|
||||
overflowEditItem({
|
||||
disabled: selectedRows.value.length !== 1,
|
||||
onClick: () => handleToolbarEdit()
|
||||
}),
|
||||
{
|
||||
key: 'generateInventory',
|
||||
label: '生成出入库单',
|
||||
icon: DocumentAdd,
|
||||
disabled: selectedRows.value.length !== 1,
|
||||
onClick: () => handleToolbarGenerateInventory()
|
||||
},
|
||||
overflowDeleteItem({
|
||||
disabled:
|
||||
selectedRows.value.length !== 1 ||
|
||||
!canDeletePlanRecord(selectedRows.value[0]) ||
|
||||
!canDeleteByCreator(selectedRows.value[0]),
|
||||
onClick: () => handleToolbarDelete()
|
||||
}),
|
||||
overflowExportPlaceholder(),
|
||||
overflowClearFiltersItem(hasActiveFilters.value, () => clearAllFilters())
|
||||
])
|
||||
|
||||
function handleToolbarEdit() {
|
||||
if (selectedRows.value.length !== 1) {
|
||||
$modal.msgWarning('请先勾选一条计划')
|
||||
|
||||
@@ -19,47 +19,18 @@
|
||||
<el-icon><Plus /></el-icon>
|
||||
新增地磅单
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="selectedRows.length !== 1 || selectedRows[0]?.isVoided === 1"
|
||||
@click="handleToolbarEdit"
|
||||
>
|
||||
<el-icon><Edit /></el-icon>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
class="btn-ghost"
|
||||
:disabled="
|
||||
selectedRows.length !== 1 ||
|
||||
selectedRows[0]?.isVoided === 1 ||
|
||||
!isWeighingRecordToday(selectedRows[0])
|
||||
"
|
||||
:title="
|
||||
selectedRows.length === 1 && !isWeighingRecordToday(selectedRows[0])
|
||||
? '仅支持作废当天的地磅单'
|
||||
: ''
|
||||
"
|
||||
@click="handleToolbarVoid"
|
||||
>
|
||||
<el-icon><Close /></el-icon>
|
||||
作废
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="hasClearableColumnFilters"
|
||||
class="btn-ghost"
|
||||
@click="handleClearColumnFilters"
|
||||
>
|
||||
<el-icon><Filter /></el-icon>
|
||||
清空列过滤
|
||||
</el-button>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => weighingApi.export(payload)"
|
||||
:get-filter-params="getWeighingExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="weighingExportColumns"
|
||||
filename="地磅单列表.xlsx"
|
||||
/>
|
||||
<ListToolbarOverflow :items="toolbarOverflowItems">
|
||||
<template #export>
|
||||
<ListExportDropdown
|
||||
:export-fn="(payload) => weighingApi.export(payload)"
|
||||
:get-filter-params="getWeighingExportFilterParams"
|
||||
:has-selection="true"
|
||||
:selected-ids="selectedRows.map((r) => String(r.id))"
|
||||
:visible-columns="weighingExportColumns"
|
||||
filename="地磅单列表.xlsx"
|
||||
/>
|
||||
</template>
|
||||
</ListToolbarOverflow>
|
||||
|
||||
<ListToolbarEndActions
|
||||
:loading="loading"
|
||||
@@ -639,7 +610,6 @@
|
||||
Check,
|
||||
Close,
|
||||
Edit,
|
||||
Filter,
|
||||
Plus
|
||||
} from '@element-plus/icons-vue'
|
||||
import DbCrmCustomerSelect from '@/components/business/db/DbCrmCustomerSelect.vue'
|
||||
@@ -647,6 +617,13 @@
|
||||
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
|
||||
import ListExportDropdown from '@/components/business/list-export-dropdown/index.vue'
|
||||
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
|
||||
import ListToolbarOverflow from '@/components/business/list-toolbar-overflow/index.vue'
|
||||
import type { ListToolbarOverflowItem } from '@/components/business/list-toolbar-overflow/types'
|
||||
import {
|
||||
overflowClearFiltersItem,
|
||||
overflowEditItem,
|
||||
overflowExportPlaceholder
|
||||
} from '@/utils/list-toolbar-overflow-items'
|
||||
import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue'
|
||||
import ColumnHeaderFilter from '@/components/business/column-header-filter/index.vue'
|
||||
import type { StatsRowColumn } from '@/utils/list-column-stats'
|
||||
@@ -749,6 +726,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
const toolbarOverflowItems = computed<ListToolbarOverflowItem[]>(() => [
|
||||
overflowEditItem({
|
||||
disabled: selectedRows.value.length !== 1 || selectedRows.value[0]?.isVoided === 1,
|
||||
onClick: () => handleToolbarEdit()
|
||||
}),
|
||||
{
|
||||
key: 'void',
|
||||
label: '作废',
|
||||
icon: Close,
|
||||
disabled:
|
||||
selectedRows.value.length !== 1 ||
|
||||
selectedRows.value[0]?.isVoided === 1 ||
|
||||
!isWeighingRecordToday(selectedRows.value[0]),
|
||||
onClick: () => handleToolbarVoid()
|
||||
},
|
||||
overflowExportPlaceholder(),
|
||||
overflowClearFiltersItem(hasClearableColumnFilters.value, handleClearColumnFilters)
|
||||
])
|
||||
|
||||
function handleResetColumns() {
|
||||
resetToDefault()
|
||||
resetToInitial()
|
||||
|
||||
Reference in new issue
Block a user