|
|
@ -17,6 +17,8 @@ |
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<Table v-clientTable |
|
|
|
ref="tableRef" |
|
|
|
:selection="true" |
|
|
|
:columns="tableColumns" |
|
|
|
:data="tableObject.tableList" |
|
|
|
:loading="tableObject.loading" |
|
|
@ -26,19 +28,42 @@ |
|
|
|
v-model:pageSize="tableObject.pageSize" |
|
|
|
v-model:currentPage="tableObject.currentPage" |
|
|
|
v-model:sort="tableObject.sort" |
|
|
|
@getSelectionRows="getSelectionRows" |
|
|
|
> |
|
|
|
<template v-for="name in tableObjectHead.tableList" :key="name" #[name]="{row}"> |
|
|
|
<span :class="{'success-text':row['planType_F'].indexOf(name)>-1}">{{ row[name] }}</span> |
|
|
|
</template> |
|
|
|
</Table> |
|
|
|
</ContentWrap> |
|
|
|
<!-- :vLoading="formLoadingPlan" --> |
|
|
|
<Dialog title="预览要货计划" |
|
|
|
v-model="dialogVisiblePlan" |
|
|
|
width="80%" |
|
|
|
:close-on-click-modal="false" |
|
|
|
> |
|
|
|
<Table :columns="tableColumnsPlan" |
|
|
|
:data="tableObjectPlan.tableList" |
|
|
|
:loading="tableObjectPlan.loading" |
|
|
|
v-model:pageSize="tableObjectPlan.pageSize" |
|
|
|
v-model:currentPage="tableObjectPlan.currentPage" |
|
|
|
v-model:sort="tableObjectPlan.sort" |
|
|
|
@getSelectionRows="getSelectionRows" |
|
|
|
/> |
|
|
|
<template #footer> |
|
|
|
<slot name="foorter"></slot> |
|
|
|
<ButtonBase :Butttondata="[ |
|
|
|
defaultButtons.formSaveBtn(null), // 保存 |
|
|
|
defaultButtons.formCloseBtn(null) // 关闭 |
|
|
|
]" @button-base-click="buttonBaseClickPlan" /> |
|
|
|
</template> |
|
|
|
</Dialog> |
|
|
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import download from '@/utils/download' |
|
|
|
import { DemandforecastingMain,DemandforecastingMainRules,DemandforecastingDetail,DemandforecastingDetailRules } from './demandforecastingMain.data' |
|
|
|
import { DemandforecastingMain,DemandforecastingMainRules,DemandforecastingDetail,DemandforecastingDetailRules,DemandforecastingMainPlan } from './demandforecastingMain.data' |
|
|
|
import * as DemandforecastingMainApi from '@/api/wms/demandforecastingMain' |
|
|
|
import * as DemandforecastingDetailApi from '@/api/wms/demandforecastingDetail' |
|
|
|
import * as defaultButtons from '@/utils/disposition/defaultButtons' |
|
|
@ -128,8 +153,17 @@ watch(()=>tableObject.currentPage,async ()=>{ |
|
|
|
}) |
|
|
|
// 列表头部按钮 |
|
|
|
const HeadButttondata = [ |
|
|
|
defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), // 导出 |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
defaultButtons.defaultExportBtn({hasPermi:'wms:demandforecasting-main:export'}), // 导出 |
|
|
|
{ |
|
|
|
label: t(`ts.批量生成要货计划`).replace('ts.', ''), |
|
|
|
name: 'selectionPlan', |
|
|
|
hide: false, |
|
|
|
type: 'primary', |
|
|
|
icon: '', |
|
|
|
color: '', |
|
|
|
hasPermi: '' |
|
|
|
}, |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
// defaultButtons.defaultFilterBtn(null), // 筛选 |
|
|
|
defaultButtons.defaultSetBtn(null), // 设置 |
|
|
|
] |
|
|
@ -139,6 +173,7 @@ const buttonBaseClick = async (val, item) => { |
|
|
|
if (val == 'export') { // 导出 |
|
|
|
handleExport() |
|
|
|
} else if (val == 'refresh') { // 刷新 |
|
|
|
selectionRows.value = [] |
|
|
|
if (tableObject.params.filters && tableObject.params.filters.length > 0 ) { |
|
|
|
searchFormClick({ |
|
|
|
filters: tableObject.params.filters |
|
|
@ -150,11 +185,54 @@ const buttonBaseClick = async (val, item) => { |
|
|
|
|
|
|
|
} |
|
|
|
} else if (val == 'filtrate') { // 筛选 |
|
|
|
} else if (val == 'selectionPlan') { // 批量生成要货计划 |
|
|
|
selectionPlan() |
|
|
|
} else { // 其他按钮 |
|
|
|
console.log('其他按钮', item) |
|
|
|
} |
|
|
|
} |
|
|
|
const dialogVisiblePlan = ref(false) |
|
|
|
// 批量 |
|
|
|
const selectionRows = ref<any>([]) |
|
|
|
const tableRef = ref() |
|
|
|
const getSelectionRows = (currentPage, currentPageSelectionRows) => { |
|
|
|
console.log('getSelectionRows', currentPage, currentPageSelectionRows) |
|
|
|
const currentRows = selectionRows.value.find((item) => item.currentPage == currentPage) |
|
|
|
if (currentRows) { |
|
|
|
currentRows.selectionRows = currentPageSelectionRows |
|
|
|
} else { |
|
|
|
selectionRows.value.push({ |
|
|
|
currentPage, |
|
|
|
selectionRows: currentPageSelectionRows |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
const tableColumnsPlan = ref(DemandforecastingMainPlan.allSchemas.tableColumns) |
|
|
|
const { tableObject:tableObjectPlan, tableMethods:tableMethodsPlan } = useTable({ |
|
|
|
getListApi: DemandforecastingDetailApi.getDemandforecastingDetailPage // 分页接口 |
|
|
|
}) |
|
|
|
// 获得表格的各种操作 |
|
|
|
const { getList:getListPlan} = tableMethodsPlan |
|
|
|
const selectionPlan = async ()=>{ |
|
|
|
let rows: any = [] |
|
|
|
selectionRows.value.forEach((item) => { |
|
|
|
rows = [...rows, ...item.selectionRows.map((item1) => item1.mainId)] |
|
|
|
}) |
|
|
|
console.log('批量生成要货计划', rows.join(',')) |
|
|
|
await getListPlan() |
|
|
|
dialogVisiblePlan.value = true |
|
|
|
} |
|
|
|
|
|
|
|
const buttonBaseClickPlan = (val)=>{ |
|
|
|
if (val == 'save') { |
|
|
|
// 保存 |
|
|
|
dialogVisiblePlan.value = false |
|
|
|
} |
|
|
|
// 关闭 |
|
|
|
else if (val == 'close') { |
|
|
|
dialogVisiblePlan.value = false |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const seachRef = ref() |
|
|
|
const onSearchChange = (field, value)=>{ |
|
|
|