|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="ds-sea-export-table p20">
|
|
|
|
|
<div class="ds-table">
|
|
|
|
|
<div class="topTable">
|
|
|
|
|
<BasicTable
|
|
|
|
|
class="ds-table"
|
|
|
|
|
@register="registerTable"
|
|
|
|
|
@row-dbClick="
|
|
|
|
|
(e) => {
|
|
|
|
@ -10,12 +10,71 @@
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<template #tableTitle>
|
|
|
|
|
<TableButton :show="{ add: null, del: null }" @add="GoDetailed(false, null)" @del="FnDel">
|
|
|
|
|
<span class="iconfont icon-daochu-hei" @click="ExportExcel">导出excel</span>
|
|
|
|
|
<span class="iconfont icon-tijiaoshenhe-danse" @click="Lock">提交锁定</span>
|
|
|
|
|
<span class="iconfont icon-chexiaoshenqingshenhe-danse" @click="UnLock">解除锁定</span>
|
|
|
|
|
</TableButton>
|
|
|
|
|
|
|
|
|
|
<div class="ds-h-aciton-btns-fee">
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>新增</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="GoDetailed(false, null)" class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/svg/infoclient/xinjian.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>删除</span>
|
|
|
|
|
</template>
|
|
|
|
|
<a-popconfirm
|
|
|
|
|
title="确定删除当前选中数据?"
|
|
|
|
|
@confirm="FnDel"
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
>
|
|
|
|
|
<span class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/svg/infoclient/shanchu.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<!-- <a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>打印</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="printFee" class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/svg/infoclient/dayin.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip> -->
|
|
|
|
|
<!-- <a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>分享</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/svg/infoclient/tijiao.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip> -->
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>导出excel</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="ExportExcel" class="ds-action-svg-btn" style="padding-top: 4px">
|
|
|
|
|
<SvgIcon size="16" name="export" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>提交锁定</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="Lock" class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/icons/lock.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>解除锁定</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="UnLock" class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../assets/icons/openLock.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="buttonGroup">
|
|
|
|
|
<!-- <a-button v-repeat type="link" @click="generated">
|
|
|
|
|
<span class="iconfont icon-renwu_ IconColor"></span>
|
|
|
|
@ -78,17 +137,19 @@
|
|
|
|
|
/>
|
|
|
|
|
</template> -->
|
|
|
|
|
</BasicTable>
|
|
|
|
|
<!-- 合计 -->
|
|
|
|
|
<div class="static-box">
|
|
|
|
|
<a-table
|
|
|
|
|
class="static-box"
|
|
|
|
|
class="ds-table"
|
|
|
|
|
:columns="calcColumns"
|
|
|
|
|
:data-source="calcData"
|
|
|
|
|
:pagination="false"
|
|
|
|
|
></a-table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <DsPrint ref="dsPrint" name="客户对账"></DsPrint> -->
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts" setup name="客户对账">
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
import {
|
|
|
|
|
GetCheckBillList,
|
|
|
|
@ -98,10 +159,12 @@
|
|
|
|
|
} from './api.js'
|
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
|
import { columns, searchFormSchema, billTypeData } from './columns'
|
|
|
|
|
import { GetOpenPrintModuleList } from '/@/views/operation/seaexport/api/BookingLedger.js'
|
|
|
|
|
import * as XLSX from 'xlsx'
|
|
|
|
|
import DsPrint from '/@/components/Print/index.vue'
|
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'
|
|
|
|
|
const { notification, createMessage } = useMessage()
|
|
|
|
|
import { SvgIcon } from '/@/components/Icon'
|
|
|
|
|
import { useGo } from '/@/hooks/web/usePage'
|
|
|
|
|
const go = useGo()
|
|
|
|
|
// 引入处理入参方法
|
|
|
|
@ -110,7 +173,8 @@
|
|
|
|
|
const appStore = useAppStore()
|
|
|
|
|
const tbHeight = window.innerHeight - 350
|
|
|
|
|
// 表格
|
|
|
|
|
const [registerTable, { reload, getVxeSelectRows, getRawDataSource }] = useTable({
|
|
|
|
|
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows, getRawDataSource }] =
|
|
|
|
|
useTable({
|
|
|
|
|
title: '',
|
|
|
|
|
api: async (p) => {
|
|
|
|
|
const res: API.DataResult = await GetCheckBillList(p)
|
|
|
|
@ -141,12 +205,20 @@
|
|
|
|
|
showTableSetting: true,
|
|
|
|
|
bordered: true,
|
|
|
|
|
showIndexColumn: true,
|
|
|
|
|
indexColumnProps: {
|
|
|
|
|
width: 60,
|
|
|
|
|
},
|
|
|
|
|
canResize: true,
|
|
|
|
|
resizeHeightOffset: 90,
|
|
|
|
|
autoHeight: tbHeight,
|
|
|
|
|
immediate: true,
|
|
|
|
|
resizeHeightOffset: 131,
|
|
|
|
|
tableComponent: 'vxe',
|
|
|
|
|
autoHeight: window.innerHeight - 416.5,
|
|
|
|
|
id: '0',
|
|
|
|
|
actionColumn: {
|
|
|
|
|
width: 60,
|
|
|
|
|
title: '操作',
|
|
|
|
|
dataIndex: 'action',
|
|
|
|
|
fixed: 'right',
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
// 复制对账编号
|
|
|
|
|
function FnCopy(data) {
|
|
|
|
@ -168,7 +240,7 @@
|
|
|
|
|
}
|
|
|
|
|
// 删除
|
|
|
|
|
function FnDel() {
|
|
|
|
|
const select = getVxeSelectRows()
|
|
|
|
|
const select = getSelectRows()
|
|
|
|
|
let ApiData: any = {
|
|
|
|
|
ids: [],
|
|
|
|
|
}
|
|
|
|
@ -193,7 +265,7 @@
|
|
|
|
|
let ApiData: any = {
|
|
|
|
|
ids: [],
|
|
|
|
|
}
|
|
|
|
|
getVxeSelectRows().forEach((e) => {
|
|
|
|
|
getSelectRows().forEach((e) => {
|
|
|
|
|
ApiData.ids.push(e.id)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
@ -210,7 +282,7 @@
|
|
|
|
|
let ApiData: any = {
|
|
|
|
|
ids: [],
|
|
|
|
|
}
|
|
|
|
|
getVxeSelectRows().forEach((e) => {
|
|
|
|
|
getSelectRows().forEach((e) => {
|
|
|
|
|
ApiData.ids.push(e.id)
|
|
|
|
|
})
|
|
|
|
|
CheckBillUnLocking(ApiData).then((res) => {
|
|
|
|
@ -394,12 +466,12 @@
|
|
|
|
|
color: #257afa;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
.ds-sea-export-table {
|
|
|
|
|
height: 100%;
|
|
|
|
|
.ds-table {
|
|
|
|
|
.ant-table-body {
|
|
|
|
|
min-height: calc(100vh - 430px);
|
|
|
|
|
}
|
|
|
|
|
.topTable {
|
|
|
|
|
// height: calc(100vh - 145px);
|
|
|
|
|
.static-box {
|
|
|
|
|
position: fixed;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
padding-left: 20px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.ds-h-aciton-btns-fee {
|
|
|
|
|