|
|
@ -1,57 +1,85 @@ |
|
|
|
<template> |
|
|
|
<ContentWrap> |
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<Search :schema="CustomerStatementMain.allSchemas.searchSchema" @search="setSearchParams" |
|
|
|
@reset="setSearchParams" /> |
|
|
|
<Search |
|
|
|
:schema="CustomerStatementMain.allSchemas.searchSchema" |
|
|
|
@search="setSearchParams" |
|
|
|
@reset="setSearchParams" |
|
|
|
/> |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 列表头部 --> |
|
|
|
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName" |
|
|
|
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick" |
|
|
|
:allSchemas="CustomerStatementMain.allSchemas" /> |
|
|
|
<TableHead |
|
|
|
:HeadButttondata="HeadButttondata" |
|
|
|
@button-base-click="buttonBaseClick" |
|
|
|
:routeName="routeName" |
|
|
|
@updataTableColumns="updataTableColumns" |
|
|
|
@searchFormClick="searchFormClick" |
|
|
|
:allSchemas="CustomerStatementMain.allSchemas" |
|
|
|
/> |
|
|
|
|
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<Table :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{ |
|
|
|
total: tableObject.total |
|
|
|
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" |
|
|
|
v-model:sort="tableObject.sort"> |
|
|
|
<Table |
|
|
|
:columns="tableColumns" |
|
|
|
:data="tableObject.tableList" |
|
|
|
:loading="tableObject.loading" |
|
|
|
:pagination="{ |
|
|
|
total: tableObject.total |
|
|
|
}" |
|
|
|
v-model:pageSize="tableObject.pageSize" |
|
|
|
v-model:currentPage="tableObject.currentPage" |
|
|
|
v-model:sort="tableObject.sort" |
|
|
|
> |
|
|
|
<template #number="{ row }"> |
|
|
|
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)"> |
|
|
|
<span>{{ row.number }}</span> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
<template #action="{ row,$index }"> |
|
|
|
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> |
|
|
|
<template #action="{ row, $index }"> |
|
|
|
<ButtonBase |
|
|
|
:Butttondata="butttondata(row, $index)" |
|
|
|
@button-base-click="buttonTableClick($event, row)" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</Table> |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 表单弹窗:添加/修改 --> |
|
|
|
<BasicForm ref="basicFormRef" @success="formsSuccess" :rules="CustomerStatementMainRules" |
|
|
|
:formAllSchemas="CustomerStatementMain.allSchemas" :apiUpdate="CustomerStatementMainApi.updateCustomerStatementMain" |
|
|
|
:apiCreate="CustomerStatementMainApi.createCustomerStatementMain" @searchTableSuccess="searchTableSuccess" |
|
|
|
:isBusiness="false" /> |
|
|
|
<BasicForm |
|
|
|
ref="basicFormRef" |
|
|
|
@success="formsSuccess" |
|
|
|
:rules="CustomerStatementMainRules" |
|
|
|
:formAllSchemas="CustomerStatementMain.allSchemas" |
|
|
|
:apiUpdate="CustomerStatementMainApi.updateCustomerStatementMain" |
|
|
|
:apiCreate="CustomerStatementMainApi.createCustomerStatementMain" |
|
|
|
@searchTableSuccess="searchTableSuccess" |
|
|
|
:isBusiness="false" |
|
|
|
/> |
|
|
|
|
|
|
|
<!-- 详情 --> |
|
|
|
<Detail |
|
|
|
ref="detailRef" |
|
|
|
:isBasic="false" |
|
|
|
ref="detailRef" |
|
|
|
:isBasic="false" |
|
|
|
:allSchemas="CustomerStatementMain.allSchemas" |
|
|
|
:detailAllSchemas="DetailAllSchemas" |
|
|
|
:detailAllSchemasRules="CustomerStatementDetailRules" |
|
|
|
:apiPage="apiPage" |
|
|
|
:tabsExtend="tabsExtend" |
|
|
|
:tabs="[{ |
|
|
|
label: '明细', |
|
|
|
prop: 'Detail' |
|
|
|
},{ |
|
|
|
label: '对账差异', |
|
|
|
prop: 'Reconciliation' |
|
|
|
},{ |
|
|
|
label: '模具分摊对账单', |
|
|
|
prop: 'ShareReconciliation' |
|
|
|
}]" |
|
|
|
:tabs="[ |
|
|
|
{ |
|
|
|
label: '明细', |
|
|
|
prop: 'Detail' |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '对账差异', |
|
|
|
prop: 'Reconciliation' |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '模具分摊对账单', |
|
|
|
prop: 'ShareReconciliation' |
|
|
|
} |
|
|
|
]" |
|
|
|
:otherHeadButttonData="otherHeadButttonData" |
|
|
|
:detailButtonIsShowAdd="false" |
|
|
|
:detailButtonIsShowEdit="false" |
|
|
@ -59,32 +87,62 @@ |
|
|
|
@changeTabs="changeTabs" |
|
|
|
:tableObjectExtend="tableObjectExtend" |
|
|
|
@buttonBaseClick="detailButtonBaseClick" |
|
|
|
@handleSubmitForm="handleDetailSubmitForm" |
|
|
|
> |
|
|
|
<template #qty="{row}" v-if="tabCurrent.prop == 'ShareReconciliation'"> |
|
|
|
<span :style="{color:row.qty>0?'red':row.qty<0?'#409eff':'#000'}">{{ row.qty }}</span> |
|
|
|
</template> |
|
|
|
<template #quantityVariance="{row}" v-if="tabCurrent.prop == 'Reconciliation'"> |
|
|
|
<span :style="{color:row.quantityVariance>0?'#409eff':row.quantityVariance<0?'red':'#000'}">{{ row.quantityVariance }}</span> |
|
|
|
<template #quantityVariance="{ row }" v-if="tabCurrent.prop == 'Reconciliation'"> |
|
|
|
<span |
|
|
|
:style="{ |
|
|
|
color: row.quantityVariance > 0 ? '#409eff' : row.quantityVariance < 0 ? 'red' : '#000' |
|
|
|
}" |
|
|
|
>{{ row.quantityVariance }}</span |
|
|
|
> |
|
|
|
</template> |
|
|
|
<template #amountVariance="{row}" v-if="tabCurrent.prop == 'Reconciliation'"> |
|
|
|
<span :style="{color:row.amountVariance>0?'#409eff':row.amountVariance<0?'red':'#000'}">{{ row.amountVariance }}</span> |
|
|
|
<template #amountVariance="{ row }" v-if="tabCurrent.prop == 'Reconciliation'"> |
|
|
|
<span |
|
|
|
:style="{ |
|
|
|
color: row.amountVariance > 0 ? '#409eff' : row.amountVariance < 0 ? 'red' : '#000' |
|
|
|
}" |
|
|
|
>{{ row.amountVariance }}</span |
|
|
|
> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template #amount="{row}" v-if="tabCurrent.prop == 'ShareReconciliation'"> |
|
|
|
<div style="display: flex;align-items: center;"> |
|
|
|
<span style="margin-right:6px">{{ row.amount }}</span> |
|
|
|
<Icon icon="ep:edit" color="#409eff" @click="openDetailForm(row)"/> |
|
|
|
|
|
|
|
<template #adjustmentAmount="{ row }" v-if="tabCurrent.prop == 'ShareReconciliation'"> |
|
|
|
<div style="position: relative"> |
|
|
|
<span>{{ row.adjustmentAmount }}</span> |
|
|
|
<Icon |
|
|
|
icon="ep:edit" |
|
|
|
color="#409eff" |
|
|
|
@click="openDetailForm(row)" |
|
|
|
style="position: absolute; right: 5px; top: 50%; transform: translateY(-50%)" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</Detail> |
|
|
|
<!-- 导入 --> |
|
|
|
<ImportCustomerStatementForm ref="importFormRef" url="/wms/customer-statement-main/import" :importTemplateData="importTemplateData" @success="importSuccess" /> |
|
|
|
<ImportCustomerStatementShareForm ref="importShareFormRef" url="/wms/customer-tool-apport-statement-detail/import" :importTemplateData="importShareTemplateData" @success="importSuccess" /> |
|
|
|
<ImportCustomerStatementForm |
|
|
|
ref="importFormRef" |
|
|
|
url="/wms/customer-statement-main/import" |
|
|
|
:importTemplateData="importTemplateData" |
|
|
|
@success="importSuccess" |
|
|
|
/> |
|
|
|
<ImportCustomerStatementShareForm |
|
|
|
ref="importShareFormRef" |
|
|
|
url="/wms/customer-tool-apport-statement-detail/import" |
|
|
|
:importTemplateData="importShareTemplateData" |
|
|
|
@success="importSuccess" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import download from '@/utils/download' |
|
|
|
import { CustomerStatementMain, CustomerStatementMainRules,CustomerStatementDetail,CustomerStatementDetailRules,CustomerStatementReconciliation,CustomerStatementShareReconciliation} from './customerStatementMain.data' |
|
|
|
import { |
|
|
|
CustomerStatementMain, |
|
|
|
CustomerStatementMainRules, |
|
|
|
CustomerStatementDetail, |
|
|
|
CustomerStatementDetailRules, |
|
|
|
CustomerStatementReconciliation, |
|
|
|
CustomerStatementShareReconciliation |
|
|
|
} from './customerStatementMain.data' |
|
|
|
import * as CustomerStatementMainApi from '@/api/wms/customerStatementMain' |
|
|
|
import * as CustomerStatementDetailApi from '@/api/wms/customerStatementDetail' |
|
|
|
import * as defaultButtons from '@/utils/disposition/defaultButtons' |
|
|
@ -105,7 +163,7 @@ routeName.value = route.name |
|
|
|
const tableColumns = ref(CustomerStatementMain.allSchemas.tableColumns) |
|
|
|
|
|
|
|
const apiPage = ref(CustomerStatementDetailApi.getCustomerStatementDetailPage) |
|
|
|
const DetailAllSchemas = ref(CustomerStatementDetail.allSchemas) |
|
|
|
const DetailAllSchemas = ref(CustomerStatementShareReconciliation.allSchemas) |
|
|
|
|
|
|
|
const tabsExtend = ref(false) |
|
|
|
const tableObjectExtend = ref() |
|
|
@ -135,11 +193,11 @@ const { getList, setSearchParams } = tableMethods |
|
|
|
// 列表头部按钮 |
|
|
|
const HeadButttondata = [ |
|
|
|
//defaultButtons.defaultAddBtn({hasPermi:'wms:customerStatementMain:create'}), // 新增 |
|
|
|
defaultButtons.defaultImportBtn({hasPermi:'wms:customer-statement-main:import'}), // 导入 |
|
|
|
defaultButtons.defaultExportBtn({hasPermi:'wms:customer-statement-main:export'}), // 导出 |
|
|
|
defaultButtons.defaultImportBtn({ hasPermi: 'wms:customer-statement-main:import' }), // 导入 |
|
|
|
defaultButtons.defaultExportBtn({ hasPermi: 'wms:customer-statement-main:export' }), // 导出 |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
defaultButtons.defaultFilterBtn(null), // 筛选 |
|
|
|
defaultButtons.defaultSetBtn(null), // 设置 |
|
|
|
defaultButtons.defaultSetBtn(null) // 设置 |
|
|
|
// { |
|
|
|
// label: '自定义扩展按钮', |
|
|
|
// name: 'zdy', |
|
|
@ -152,30 +210,38 @@ const HeadButttondata = [ |
|
|
|
|
|
|
|
// 头部按钮事件 |
|
|
|
const buttonBaseClick = (val, item) => { |
|
|
|
if (val == 'add') { // 新增 |
|
|
|
if (val == 'add') { |
|
|
|
// 新增 |
|
|
|
openForm('create') |
|
|
|
} else if (val == 'import') { // 导入 |
|
|
|
} else if (val == 'import') { |
|
|
|
// 导入 |
|
|
|
handleImport() |
|
|
|
} else if (val == 'export') { // 导出 |
|
|
|
} else if (val == 'export') { |
|
|
|
// 导出 |
|
|
|
handleExport() |
|
|
|
} else if (val == 'refresh') { // 刷新 |
|
|
|
} else if (val == 'refresh') { |
|
|
|
// 刷新 |
|
|
|
getList() |
|
|
|
} else if (val == 'filtrate') { // 筛选 |
|
|
|
} else { // 其他按钮 |
|
|
|
} else if (val == 'filtrate') { |
|
|
|
// 筛选 |
|
|
|
} else { |
|
|
|
// 其他按钮 |
|
|
|
console.log('其他按钮', item) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮 |
|
|
|
const butttondata = (row, $index) => { |
|
|
|
const findIndex = row['masterId'] ? tableObject.tableList.findIndex(item => item['masterId'] == row['masterId']) : -1 |
|
|
|
const findIndex = row['masterId'] |
|
|
|
? tableObject.tableList.findIndex((item) => item['masterId'] == row['masterId']) |
|
|
|
: -1 |
|
|
|
if (findIndex > -1 && findIndex < $index) { |
|
|
|
return [] |
|
|
|
} |
|
|
|
return [ |
|
|
|
// defaultButtons.mainListEditBtn({hasPermi:'wms:customerStatementMain:update'}), // 编辑 |
|
|
|
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:customerStatementMain:delete'}), // 删除 |
|
|
|
{ |
|
|
|
{ |
|
|
|
label: t('ts.重新对比'), |
|
|
|
name: 'rematch', |
|
|
|
hide: isShowMainButton(row, ['2']), |
|
|
@ -196,9 +262,9 @@ const butttondata = (row, $index) => { |
|
|
|
link: true // 文本展现按钮 |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: t('ts.导入模具分摊对账单'), |
|
|
|
label: t('ts.导入模具分摊对账单'), |
|
|
|
name: 'importShareReconciliation', |
|
|
|
hide: isShowMainButton(row, ['3','4']), |
|
|
|
hide: isShowMainButton(row, ['3', '4']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:import', |
|
|
@ -222,28 +288,39 @@ const butttondata = (row, $index) => { |
|
|
|
hasPermi: '', |
|
|
|
link: true // 文本展现按钮 |
|
|
|
}, |
|
|
|
defaultButtons.mainSendBackBtn({hasPermi: 'wms:customer-statement-main:sendBack', hide: isShowMainButton(row, ['3','4','5']) }), // 退回 |
|
|
|
defaultButtons.mainListCancelBtn({ hasPermi: 'wms:customer-statement-main:publish',hide: isShowMainButton(row, ['2','3','4','5'])}), // 作废 |
|
|
|
|
|
|
|
|
|
|
|
defaultButtons.mainSendBackBtn({ |
|
|
|
hasPermi: 'wms:customer-statement-main:sendBack', |
|
|
|
hide: isShowMainButton(row, ['3', '4', '5']) |
|
|
|
}), // 退回 |
|
|
|
defaultButtons.mainListCancelBtn({ |
|
|
|
hasPermi: 'wms:customer-statement-main:publish', |
|
|
|
hide: isShowMainButton(row, ['2', '3', '4', '5']) |
|
|
|
}) // 作废 |
|
|
|
] |
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮事件 |
|
|
|
const buttonTableClick = async (val, row) => { |
|
|
|
if (val == 'rematch') { //重新比对 |
|
|
|
tapRematch(row.id); |
|
|
|
} else if (val == 'confirmationContrast') { // 确认对比结果 |
|
|
|
if (val == 'rematch') { |
|
|
|
//重新比对 |
|
|
|
tapRematch(row.id) |
|
|
|
} else if (val == 'confirmationContrast') { |
|
|
|
// 确认对比结果 |
|
|
|
tapConfirmationContrast(row.id) |
|
|
|
} else if (val == 'importShareReconciliation') { // 导入模具分摊对账单、 |
|
|
|
} else if (val == 'importShareReconciliation') { |
|
|
|
// 导入模具分摊对账单、 |
|
|
|
handleShareImport(row.id) |
|
|
|
} else if (val == 'confirmShareMoney') { // 确认分摊金额 |
|
|
|
} else if (val == 'confirmShareMoney') { |
|
|
|
// 确认分摊金额 |
|
|
|
handleConfirmShareMoney(row.id) |
|
|
|
} else if (val == 'createTicketApply') { // 创建开票申请 |
|
|
|
} else if (val == 'createTicketApply') { |
|
|
|
// 创建开票申请 |
|
|
|
// handleConfirmShareMoney(row.id) |
|
|
|
}else if (val == 'sendBack') { // 退回 |
|
|
|
} else if (val == 'sendBack') { |
|
|
|
// 退回 |
|
|
|
tapSendBack(row.id) |
|
|
|
}else if (val == 'cancel') { // 作废 |
|
|
|
} else if (val == 'cancel') { |
|
|
|
// 作废 |
|
|
|
tapCancel(row.id) |
|
|
|
} |
|
|
|
} |
|
|
@ -257,16 +334,16 @@ const openForm = (type: string, row?: any) => { |
|
|
|
// form表单提交 |
|
|
|
const formsSuccess = async (formType, data) => { |
|
|
|
var isHave = CustomerStatementMain.allSchemas.formSchema.some(function (item) { |
|
|
|
return item.field === 'activeTime' || item.field === 'expireTime'; |
|
|
|
}); |
|
|
|
return item.field === 'activeTime' || item.field === 'expireTime' |
|
|
|
}) |
|
|
|
if (isHave) { |
|
|
|
if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) { |
|
|
|
message.error('失效时间要大于生效时间') |
|
|
|
return; |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
if (data.activeTime == 0) data.activeTime = null; |
|
|
|
if (data.expireTime == 0) data.expireTime = null; |
|
|
|
if (data.activeTime == 0) data.activeTime = null |
|
|
|
if (data.expireTime == 0) data.expireTime = null |
|
|
|
if (formType === 'create') { |
|
|
|
await CustomerStatementMainApi.createCustomerStatementMain(data) |
|
|
|
message.success(t('common.createSuccess')) |
|
|
@ -283,7 +360,7 @@ const detailRef = ref() |
|
|
|
const chooseRow = ref() |
|
|
|
const openDetail = (row: any, titleName: any, titleValue: any) => { |
|
|
|
chooseRow.value = row |
|
|
|
detailRef.value.openDetail( chooseRow.value, titleName, titleValue, 'basicCustomerStatementMain') |
|
|
|
detailRef.value.openDetail(chooseRow.value, titleName, titleValue, 'basicCustomerStatementMain') |
|
|
|
} |
|
|
|
|
|
|
|
/** 删除按钮操作 */ |
|
|
@ -296,7 +373,7 @@ const handleDelete = async (id: number) => { |
|
|
|
message.success(t('common.delSuccess')) |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
|
} catch { } |
|
|
|
} catch {} |
|
|
|
} |
|
|
|
|
|
|
|
/** 导出按钮操作 */ |
|
|
@ -323,7 +400,7 @@ const importShareFormRef = ref() |
|
|
|
const handleImport = () => { |
|
|
|
importFormRef.value.open() |
|
|
|
} |
|
|
|
const handleShareImport = (id:number) => { |
|
|
|
const handleShareImport = (id: number) => { |
|
|
|
importShareTemplateData.customerId = id |
|
|
|
importShareFormRef.value.open() |
|
|
|
} |
|
|
@ -358,15 +435,15 @@ onMounted(async () => { |
|
|
|
importTemplateData.templateUrl = await CustomerStatementMainApi.importTemplate() |
|
|
|
}) |
|
|
|
//点击重新比对方法 |
|
|
|
const tapRematch = async (id:number) => { |
|
|
|
const tapRematch = async (id: number) => { |
|
|
|
try { |
|
|
|
// 确认 |
|
|
|
await message.confirm( t('ts.是否重新比对')) |
|
|
|
await CustomerStatementMainApi.recontrast(id); |
|
|
|
await message.confirm(t('ts.是否重新对比')) |
|
|
|
await CustomerStatementMainApi.recontrast(id) |
|
|
|
await message.success(t('ts.重新对比成功')) |
|
|
|
// 发起导出 |
|
|
|
//exportLoading.value = true |
|
|
|
} catch { |
|
|
|
|
|
|
|
} finally { |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
@ -374,14 +451,14 @@ const tapRematch = async (id:number) => { |
|
|
|
} |
|
|
|
|
|
|
|
//点击确认对比方法 |
|
|
|
const tapConfirmationContrast = async (id:number) => { |
|
|
|
const tapConfirmationContrast = async (id: number) => { |
|
|
|
try { |
|
|
|
await message.confirm( t('ts.是否确认对比结果')) |
|
|
|
await CustomerStatementMainApi.confirmationContrast(id); |
|
|
|
await message.confirm(t('ts.是否确认对比结果')) |
|
|
|
await CustomerStatementMainApi.confirmationContrast(id) |
|
|
|
await message.success(t('ts.确认成功')) |
|
|
|
// 发起导出 |
|
|
|
//exportLoading.value = true |
|
|
|
} catch { |
|
|
|
|
|
|
|
} finally { |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
@ -389,14 +466,14 @@ const tapConfirmationContrast = async (id:number) => { |
|
|
|
} |
|
|
|
|
|
|
|
//点击退回方法 |
|
|
|
const tapSendBack = async (id:number) => { |
|
|
|
const tapSendBack = async (id: number) => { |
|
|
|
try { |
|
|
|
await message.confirm(t('ts.是否退回')) |
|
|
|
await CustomerStatementMainApi.sendBack(id); |
|
|
|
await message.confirm(t('ts.是否退回所选中数据?')) |
|
|
|
await CustomerStatementMainApi.sendBack(id) |
|
|
|
await message.success(t('ts.退回成功')) |
|
|
|
// 发起导出 |
|
|
|
//exportLoading.value = true |
|
|
|
} catch { |
|
|
|
|
|
|
|
} finally { |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
@ -404,24 +481,25 @@ const tapSendBack = async (id:number) => { |
|
|
|
} |
|
|
|
|
|
|
|
//点击作废方法 |
|
|
|
const tapCancel = async (id:number) => { |
|
|
|
const tapCancel = async (id: number) => { |
|
|
|
try { |
|
|
|
await message.confirm(t('ts.是否作废')) |
|
|
|
await CustomerStatementMainApi.nodeAbrogate(id); |
|
|
|
await message.confirm(t('ts.是否作废所选中数据?')) |
|
|
|
await CustomerStatementMainApi.nodeAbrogate(id) |
|
|
|
await message.success(t('ts.作废成功')) |
|
|
|
// 发起导出 |
|
|
|
//exportLoading.value = true |
|
|
|
} catch { |
|
|
|
|
|
|
|
} finally { |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
|
} |
|
|
|
} |
|
|
|
// 确认分摊金额 |
|
|
|
const handleConfirmShareMoney = async (id:number) => { |
|
|
|
try { |
|
|
|
const handleConfirmShareMoney = async (id: number) => { |
|
|
|
try { |
|
|
|
await message.confirm(t('ts.是否确认分摊金额')) |
|
|
|
await CustomerStatementMainApi.confirmationShare(id); |
|
|
|
await CustomerStatementMainApi.confirmationShare(id) |
|
|
|
await message.success(t('ts.确认成功')) |
|
|
|
} finally { |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
@ -442,13 +520,16 @@ const changeTabs = async (item) => { |
|
|
|
// 点击明细按钮 |
|
|
|
tabsExtend.value = true |
|
|
|
// 当前物料代码作为条件 |
|
|
|
tableObjectExtend.value = [{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
}] |
|
|
|
tableObjectExtend.value = [ |
|
|
|
{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
} |
|
|
|
] |
|
|
|
apiPage.value = CustomerStatementDetailApi.getCustomerStatementDetailPage |
|
|
|
DetailAllSchemas.value = CustomerStatementDetail.allSchemas |
|
|
|
otherHeadButttonData.value = [{ |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
|
label: t(`ts.导出`).replace('ts.', ''), |
|
|
|
name: 'export', |
|
|
|
hide: false, |
|
|
@ -456,15 +537,18 @@ const changeTabs = async (item) => { |
|
|
|
icon: 'ep:download', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:export' |
|
|
|
}] |
|
|
|
} else if (item.prop == 'Reconciliation') { |
|
|
|
} |
|
|
|
] |
|
|
|
} else if (item.prop == 'Reconciliation') { |
|
|
|
// 点击对账差异按钮 |
|
|
|
tabsExtend.value = true |
|
|
|
// 当前物料代码作为条件 |
|
|
|
tableObjectExtend.value = [{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
}] |
|
|
|
tableObjectExtend.value = [ |
|
|
|
{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
} |
|
|
|
] |
|
|
|
DetailAllSchemas.value = CustomerStatementReconciliation.allSchemas |
|
|
|
apiPage.value = CustomerStatementDetailApi.getCustomerStatementReconciliationPage |
|
|
|
otherHeadButttonData.value = [ |
|
|
@ -480,29 +564,33 @@ const changeTabs = async (item) => { |
|
|
|
{ |
|
|
|
label: t('ts.重新对比'), |
|
|
|
name: 'againContrast', |
|
|
|
hide: isShowMainButton( chooseRow.value, ['2']), |
|
|
|
hide: isShowMainButton(chooseRow.value, ['2']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
float:'left', |
|
|
|
float: 'left', |
|
|
|
hasPermi: 'wms:customer-statement-main:recontrast' |
|
|
|
},{ |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: t('ts.确认对比结果'), |
|
|
|
name: 'confirmResults', |
|
|
|
hide: isShowMainButton( chooseRow.value, ['2']), |
|
|
|
hide: isShowMainButton(chooseRow.value, ['2']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
float:'left', |
|
|
|
float: 'left', |
|
|
|
hasPermi: 'wms:customer-statement-main:confirmationContrast' |
|
|
|
}] |
|
|
|
} |
|
|
|
] |
|
|
|
} else if (item.prop == 'ShareReconciliation') { |
|
|
|
// 点击模具分摊对账单按钮 |
|
|
|
tabsExtend.value = true |
|
|
|
// 当前物料代码作为条件 |
|
|
|
tableObjectExtend.value = [{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
}] |
|
|
|
apiPage.value = CustomerStatementDetailApi.getCustomerStatementDetailPage |
|
|
|
tableObjectExtend.value = [ |
|
|
|
{ |
|
|
|
key: 'masterId', |
|
|
|
value: chooseRow.value.id |
|
|
|
} |
|
|
|
] |
|
|
|
apiPage.value = CustomerStatementDetailApi.getCustomerToolApportStatementPage |
|
|
|
DetailAllSchemas.value = CustomerStatementShareReconciliation.allSchemas |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
@ -520,10 +608,11 @@ const changeTabs = async (item) => { |
|
|
|
hide: isShowMainButton(chooseRow.value, ['4']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
float:'left', |
|
|
|
float: 'left', |
|
|
|
hasPermi: 'wms:customer-statement-main:confirmationShare' |
|
|
|
}] |
|
|
|
} else{ |
|
|
|
} |
|
|
|
] |
|
|
|
} else { |
|
|
|
tableObjectExtend.value = [] |
|
|
|
tabsExtend.value = false |
|
|
|
apiPage.value = '' |
|
|
@ -531,7 +620,7 @@ const changeTabs = async (item) => { |
|
|
|
} |
|
|
|
} |
|
|
|
// 点击子表按钮事件 |
|
|
|
const detailButtonBaseClick =async (val, item, detailTableObject) => { |
|
|
|
const detailButtonBaseClick = async (val, item, detailTableObject) => { |
|
|
|
console.log(val, item, detailTableObject) |
|
|
|
if (val == 'export') { |
|
|
|
// 子表导出明细 |
|
|
@ -543,45 +632,74 @@ const detailButtonBaseClick =async (val, item, detailTableObject) => { |
|
|
|
} else if (tabCurrent.value.prop == 'ShareReconciliation') { |
|
|
|
// 子表导出模具分摊对账单 |
|
|
|
} |
|
|
|
}else if (val == 'againContrast') { |
|
|
|
} else if (val == 'againContrast') { |
|
|
|
// 重新对比 |
|
|
|
try{ |
|
|
|
try { |
|
|
|
await tapRematch(chooseRow.value.id) |
|
|
|
chooseRow.value = 3 |
|
|
|
} catch { |
|
|
|
|
|
|
|
} |
|
|
|
}else if (val == 'confirmResults') { |
|
|
|
detailRef.value.submitUpdateList() |
|
|
|
} catch {} |
|
|
|
} else if (val == 'confirmResults') { |
|
|
|
// 确认对比结果 |
|
|
|
tapConfirmationContrast(chooseRow.value.id) |
|
|
|
}else if (val == 'exportConfirmShareMoney') { |
|
|
|
// 子表导出模具分摊对账单 |
|
|
|
}else if (val == 'confirmShareMoney') { |
|
|
|
try { |
|
|
|
await tapConfirmationContrast(chooseRow.value.id) |
|
|
|
detailRef.value.submitUpdateList() |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
|
label: t(`ts.导出`).replace('ts.', ''), |
|
|
|
name: 'export', |
|
|
|
hide: false, |
|
|
|
type: 'success', |
|
|
|
icon: 'ep:download', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:export' |
|
|
|
} |
|
|
|
] |
|
|
|
} catch {} |
|
|
|
} else if (val == 'confirmShareMoney') { |
|
|
|
// 确认分摊金额 |
|
|
|
try { |
|
|
|
await handleConfirmShareMoney(chooseRow.value.id) |
|
|
|
detailRef.value.submitUpdateList() |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
|
label: t(`ts.导出`).replace('ts.', ''), |
|
|
|
name: 'export', |
|
|
|
hide: false, |
|
|
|
type: 'success', |
|
|
|
icon: 'ep:download', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:export' |
|
|
|
} |
|
|
|
] |
|
|
|
} catch {} |
|
|
|
} |
|
|
|
} |
|
|
|
// 子表导出明细 |
|
|
|
// 子表导出明细 |
|
|
|
const handleExportDetail = async (detailTableObject) => { |
|
|
|
try { |
|
|
|
// 导出的二次确认 |
|
|
|
await message.exportConfirm() |
|
|
|
// 发起导出 |
|
|
|
exportLoading.value = true |
|
|
|
const data = await CustomerStatementDetailApi.exportCustomerStatementDetail(detailTableObject.params) |
|
|
|
const data = await CustomerStatementDetailApi.exportCustomerStatementDetail( |
|
|
|
detailTableObject.params |
|
|
|
) |
|
|
|
download.excel(data, `对账差异【${formatDate(new Date())}】.xlsx`) |
|
|
|
} catch { |
|
|
|
} finally { |
|
|
|
exportLoading.value = false |
|
|
|
} |
|
|
|
} |
|
|
|
// 子表导出对账差异 |
|
|
|
// 子表导出对账差异 |
|
|
|
const handleExportReconciliation = async (detailTableObject) => { |
|
|
|
try { |
|
|
|
// 导出的二次确认 |
|
|
|
await message.exportConfirm() |
|
|
|
// 发起导出 |
|
|
|
exportLoading.value = true |
|
|
|
const data = await CustomerStatementDetailApi.exportCustomerStatementCompareDetail(detailTableObject.params) |
|
|
|
const data = await CustomerStatementDetailApi.exportCustomerStatementCompareDetail( |
|
|
|
detailTableObject.params |
|
|
|
) |
|
|
|
download.excel(data, `对账差异【${formatDate(new Date())}】.xlsx`) |
|
|
|
} catch { |
|
|
|
} finally { |
|
|
@ -592,4 +710,62 @@ const handleExportReconciliation = async (detailTableObject) => { |
|
|
|
const openDetailForm = (row) => { |
|
|
|
detailRef.value.openForm('update', row) |
|
|
|
} |
|
|
|
// 调整金额提交 |
|
|
|
const handleDetailSubmitForm = async (formType, data) => { |
|
|
|
console.log(detailRef.value.tableObjectRef.tableList) |
|
|
|
|
|
|
|
await CustomerStatementDetailApi.updateAdjustmentAmount(data.id,data.masterId,data.adjustmentAmount) |
|
|
|
message.success(t('common.updateSuccess')) |
|
|
|
detailRef.value.submitUpdateList() |
|
|
|
const amount = ref(0) |
|
|
|
detailRef.value.tableObjectRef.tableList.forEach(item => { |
|
|
|
amount.value = amount.value + item.adjustmentAmount |
|
|
|
}) |
|
|
|
// 确认分摊金额 |
|
|
|
if (amount.value == 0) { |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
|
label: t(`ts.导出`).replace('ts.', ''), |
|
|
|
name: 'export', |
|
|
|
hide: false, |
|
|
|
type: 'success', |
|
|
|
icon: 'ep:download', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:export' |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: t('ts.确认分摊金额'), |
|
|
|
name: 'confirmShareMoney', |
|
|
|
hide: isShowMainButton(chooseRow.value, ['4']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
disabled:true, |
|
|
|
float: 'left', |
|
|
|
hasPermi: 'wms:customer-statement-main:confirmationShare' |
|
|
|
} |
|
|
|
] |
|
|
|
} else { |
|
|
|
otherHeadButttonData.value = [ |
|
|
|
{ |
|
|
|
label: t(`ts.导出`).replace('ts.', ''), |
|
|
|
name: 'export', |
|
|
|
hide: false, |
|
|
|
type: 'success', |
|
|
|
icon: 'ep:download', |
|
|
|
color: '', |
|
|
|
hasPermi: 'wms:customer-statement-main:export' |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: t('ts.确认分摊金额'), |
|
|
|
name: 'confirmShareMoney', |
|
|
|
hide: isShowMainButton(chooseRow.value, ['4']), |
|
|
|
type: 'primary', |
|
|
|
color: '', |
|
|
|
disabled:false, |
|
|
|
float: 'left', |
|
|
|
hasPermi: 'wms:customer-statement-main:confirmationShare' |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|