|
|
@ -1,55 +1,56 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<a-modal width="1400px" @cancel="open = false" :visible="open" title="添加发票申请明细" :footer="null">
|
|
|
|
<a-modal width="1400px" @cancel="open = false" :visible="open" title="添加发票申请明细" :footer="null">
|
|
|
|
<BasicTable class="ds-table" @row-click="handleClick" @register="registerTable" @row-dbClick="(e) => {
|
|
|
|
<div style="padding-bottom: 20px;" >
|
|
|
|
GoDetailed(true, e)
|
|
|
|
<BasicTable class="ds-table" @row-click="handleClick" @register="registerTable" @row-dbClick="(e) => {
|
|
|
|
}
|
|
|
|
GoDetailed(true, e)
|
|
|
|
">
|
|
|
|
}
|
|
|
|
<template #tableTitle>
|
|
|
|
">
|
|
|
|
|
|
|
|
<template #tableTitle>
|
|
|
|
</template>
|
|
|
|
<a-button v-repeat type="link" @click="GoDetailed(false, null)">
|
|
|
|
<template #toolbar>
|
|
|
|
<span class="iconfont icon-new_document"></span>
|
|
|
|
<a-button v-repeat type="link" @click="GoDetailed(false, null)">
|
|
|
|
添加
|
|
|
|
<span class="iconfont icon-new_document"></span>
|
|
|
|
</a-button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
|
|
|
<template v-if="column.dataIndex == 'businessType'">
|
|
|
|
|
|
|
|
<span v-if="record.businessType == 1">海运出口</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
|
|
|
<div class="total">
|
|
|
|
|
|
|
|
<span style="margin-right: 10px;">合计:</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">RMB未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ rmbTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">USD未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ usdTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">其他未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ otherTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</BasicTable>
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<a-button type="link" @click="handleAddDetial">
|
|
|
|
|
|
|
|
<span class="iconfont icon-jia"></span>
|
|
|
|
添加
|
|
|
|
添加
|
|
|
|
</a-button>
|
|
|
|
</a-button>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
<a-table :pagination="false" rowKey="recordId"
|
|
|
|
<template v-if="column.dataIndex == 'businessType'">
|
|
|
|
:row-selection="{ selectedRowKeys: selectedRowKeysDetial, onChange: onSelectChangeDetail }"
|
|
|
|
<span v-if="record.businessType == 1">海运出口</span>
|
|
|
|
:loading="loading" :columns="columns" :data-source="dataSource" bordered>
|
|
|
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
|
|
|
<template v-if="column.dataIndex == 'applyAmount'">
|
|
|
|
|
|
|
|
<a-input-number size="small" :controls="false" :max="record.restAmount"
|
|
|
|
|
|
|
|
v-model:value="record.applyAmount" />
|
|
|
|
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</a-table>
|
|
|
|
<template #footer>
|
|
|
|
|
|
|
|
<div class="total">
|
|
|
|
|
|
|
|
<span style="margin-right: 10px;">合计:</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">RMB未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ rmbTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">USD未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ usdTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="total-item">
|
|
|
|
|
|
|
|
<span class="text">其他未开:</span>
|
|
|
|
|
|
|
|
<span class="number">{{ otherTotal }}</span>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</BasicTable>
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<a-button type="link" @click="handleAddDetial">
|
|
|
|
|
|
|
|
<span class="iconfont icon-jia"></span>
|
|
|
|
|
|
|
|
添加
|
|
|
|
|
|
|
|
</a-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<a-table rowKey="recordId" :row-selection="{ selectedRowKeys: selectedRowKeysDetial, onChange: onSelectChangeDetail }"
|
|
|
|
|
|
|
|
:loading="loading" :columns="columns" :data-source="dataSource" bordered>
|
|
|
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
|
|
|
<template v-if="column.dataIndex == 'applyAmount'">
|
|
|
|
|
|
|
|
<a-input-number size="small" :controls="false" :max="record.restAmount" v-model:value="record.applyAmount"/>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</a-table>
|
|
|
|
|
|
|
|
</a-modal>
|
|
|
|
</a-modal>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
|
|
<script lang="ts" setup>
|
|
|
@ -57,7 +58,7 @@ import { formatParams } from '/@/hooks/web/common'
|
|
|
|
import { ref, defineExpose, unref } from 'vue'
|
|
|
|
import { ref, defineExpose, unref } from 'vue'
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
import { detailColumns, detailSearchFormSchema, businessTypeList } from '../columns'
|
|
|
|
import { detailColumns, detailSearchFormSchema, businessTypeList } from '../columns'
|
|
|
|
import { GetBizList, InvoiceApplicationGetFees,InvoiceApplicationSave } from '../api.js'
|
|
|
|
import { GetBizList, InvoiceApplicationGetFees, InvoiceApplicationSave } from '../api.js'
|
|
|
|
const open = ref(false)
|
|
|
|
const open = ref(false)
|
|
|
|
|
|
|
|
|
|
|
|
const [registerTable, { getForm, setSelectedRowKeys, getSelectRows, setProps, getRawDataSource }] = useTable({
|
|
|
|
const [registerTable, { getForm, setSelectedRowKeys, getSelectRows, setProps, getRawDataSource }] = useTable({
|
|
|
@ -161,7 +162,7 @@ function handleClick(record, index) {
|
|
|
|
InvoiceApplicationGetFees([data]).then(res => {
|
|
|
|
InvoiceApplicationGetFees([data]).then(res => {
|
|
|
|
if (res.succeeded) {
|
|
|
|
if (res.succeeded) {
|
|
|
|
dataSource.value = res.data.items
|
|
|
|
dataSource.value = res.data.items
|
|
|
|
dataSource.value.forEach(item=>{
|
|
|
|
dataSource.value.forEach(item => {
|
|
|
|
item.applyAmount = item.restAmount ? item.restAmount : 0
|
|
|
|
item.applyAmount = item.restAmount ? item.restAmount : 0
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -199,20 +200,20 @@ function onSelectChange(selectedRowKeys) {
|
|
|
|
const emits = defineEmits(['updateList'])
|
|
|
|
const emits = defineEmits(['updateList'])
|
|
|
|
function handleAddDetial() {
|
|
|
|
function handleAddDetial() {
|
|
|
|
const arr = [] as any
|
|
|
|
const arr = [] as any
|
|
|
|
dataSource.value.forEach(item=>{
|
|
|
|
dataSource.value.forEach(item => {
|
|
|
|
selectedRowKeysDetial.value.forEach(ite=>{
|
|
|
|
selectedRowKeysDetial.value.forEach(ite => {
|
|
|
|
if(item.recordId == ite){
|
|
|
|
if (item.recordId == ite) {
|
|
|
|
arr.push(item)
|
|
|
|
arr.push(item)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
arr.forEach(item=>{
|
|
|
|
arr.forEach(item => {
|
|
|
|
item.originalCurrency = item.currency
|
|
|
|
item.originalCurrency = item.currency
|
|
|
|
item.originalAmount = item.applyAmount
|
|
|
|
item.originalAmount = item.applyAmount
|
|
|
|
item.originalProcessedAmount = item.processedAmount ? item.processedAmount : 0
|
|
|
|
item.originalProcessedAmount = item.processedAmount ? item.processedAmount : 0
|
|
|
|
})
|
|
|
|
})
|
|
|
|
emits('updateList', arr)
|
|
|
|
emits('updateList', arr)
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const selectedRowKeysDetial = ref([]) as any
|
|
|
|
const selectedRowKeysDetial = ref([]) as any
|
|
|
|
function onSelectChangeDetail(selectedRowKeys) {
|
|
|
|
function onSelectChangeDetail(selectedRowKeys) {
|
|
|
@ -243,7 +244,8 @@ defineExpose({ init })
|
|
|
|
padding: 0px !important;
|
|
|
|
padding: 0px !important;
|
|
|
|
background: white;
|
|
|
|
background: white;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/deep/ .ant-table-container{
|
|
|
|
|
|
|
|
|
|
|
|
/deep/ .ant-table-container {
|
|
|
|
padding: 0px;
|
|
|
|
padding: 0px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|