客户对账 样式调整

frame-financialTax-yjl-1204
张同海 2 weeks ago
parent 74821e3f74
commit b8a6422687

@ -166,14 +166,14 @@ export const columns: BasicColumn[] = [
// return RData // return RData
// }, // },
}, },
{ title: '应收RMB', dataIndex: 'rmbdr', align: 'left', width: 100 }, { title: '应收RMB', dataIndex: 'rmbdr', align: 'right', width: 100 },
{ title: '未收RMB', dataIndex: 'balrmbdr', align: 'left', width: 100 }, { title: '未收RMB', dataIndex: 'balrmbdr', align: 'right', width: 100 },
{ title: '应收USD', dataIndex: 'usddr', align: 'left', width: 100 }, { title: '应收USD', dataIndex: 'usddr', align: 'right', width: 100 },
{ title: '未收USD', dataIndex: 'balusddr', align: 'left', width: 100 }, { title: '未收USD', dataIndex: 'balusddr', align: 'right', width: 100 },
{ title: '应付RMB', dataIndex: 'rmbcr', align: 'left', width: 100 }, { title: '应付RMB', dataIndex: 'rmbcr', align: 'right', width: 100 },
{ title: '未付RMB', dataIndex: 'balrmbcr', align: 'left', width: 100 }, { title: '未付RMB', dataIndex: 'balrmbcr', align: 'right', width: 100 },
{ title: '应付USD', dataIndex: 'usdcr', align: 'left', width: 100 }, { title: '应付USD', dataIndex: 'usdcr', align: 'right', width: 100 },
{ title: '未付USD', dataIndex: 'balusdcr', align: 'left', width: 100 }, { title: '未付USD', dataIndex: 'balusdcr', align: 'right', width: 100 },
{ title: '对账时间', dataIndex: 'createTime', align: 'left', width: 150 }, { title: '对账时间', dataIndex: 'createTime', align: 'left', width: 150 },
{ title: '对账人', dataIndex: 'createByName', align: 'left', width: 100 }, { title: '对账人', dataIndex: 'createByName', align: 'left', width: 100 },
{ title: '备注', dataIndex: 'note', align: 'left', width: 150 }, { title: '备注', dataIndex: 'note', align: 'left', width: 150 },

@ -1,129 +1,70 @@
<template> <template>
<div class="topTable"> <div class="ds-sea-export-table p20">
<BasicTable <div class="ds-table">
class="ds-table" <BasicTable
@register="registerTable" @register="registerTable"
@row-dbClick=" @row-dbClick="
(e) => { (e) => {
GoDetailed(true, e) GoDetailed(true, e)
} }
" "
> >
<template #tableTitle> <template #tableTitle>
<div class="ds-h-aciton-btns-fee"> <TableButton :show="{ add: null, del: null }" @add="GoDetailed(false, null)" @del="FnDel">
<a-tooltip placement="top" :mouseEnterDelay="0.5"> <span class="iconfont icon-daochu-hei" @click="ExportExcel">excel</span>
<template #title> <span class="iconfont icon-tijiaoshenhe-danse" @click="Lock"></span>
<span>新增</span> <span class="iconfont icon-chexiaoshenqingshenhe-danse" @click="UnLock"></span>
</template> </TableButton>
<span @click="GoDetailed(false, null)" class="ds-action-svg-btn">
<img src="../../../assets/svg/infoclient/xinjian.svg" class="SvgImg" /> <div class="buttonGroup">
<!-- <a-button v-repeat type="link" @click="generated">
<span class="iconfont icon-renwu_ IconColor"></span>
生成发票申请
</a-button> -->
</div>
</template>
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.dataIndex == 'billNo'">
<div class="billNo">
<span
v-if="record.billNo"
@click="FnCopy(record.billNo)"
class="iconfont icon-fuzhi3"
></span>
<span>{{ record.billNo }}</span>
</div>
</template>
<template v-if="column.dataIndex == 'isLocking'">
<span v-if="record.isLocking">
<i class="iconfont icon-locksuo"></i>
</span> </span>
</a-tooltip> <span v-else> <i class="iconfont icon-a-jiesuo1_jiesuo"></i> </span>
<a-tooltip placement="top" :mouseEnterDelay="0.5"> </template>
<template #title> <template v-if="column.dataIndex == 'billType'">
<span>删除</span> <span
</template> v-for="item in billTypeData"
<a-popconfirm :key="item.value"
title="确定删除当前选中数据?" v-show="item.value == record.billType"
@confirm="FnDel"
ok-text="是"
cancel-text="否"
> >
<span class="ds-action-svg-btn"> {{ item.label }}
<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> </span>
</a-tooltip> --> </template>
<!-- <a-tooltip placement="top" :mouseEnterDelay="0.5"> <template v-if="column.dataIndex == 'isNoTax'">
<template #title> <a-tag color="error" v-if="record.isNoTax == 'true'"></a-tag>
<span>分享</span> <a-tag color="success" v-else></a-tag>
</template> </template>
<span class="ds-action-svg-btn"> </template>
<img src="../../../assets/svg/infoclient/tijiao.svg" class="SvgImg" /> <template v-slot:tableAction="{ record }">
</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"> <a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title> <template #title>
<span>解除锁定</span> <span>编辑</span>
</template> </template>
<span @click="UnLock" class="ds-action-svg-btn"> <a-button type="link" @click="GoDetailed(true, record)">
<img src="../../../assets/icons/openLock.svg" class="SvgImg" /> <span class="iconfont icon-icon_519"></span>
</span> </a-button>
</a-tooltip> </a-tooltip>
</div>
<div class="buttonGroup">
<!-- <a-button v-repeat type="link" @click="generated">
<span class="iconfont icon-renwu_ IconColor"></span>
生成发票申请
</a-button> -->
</div>
</template>
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.dataIndex == 'billNo'">
<div class="billNo">
<span
v-if="record.billNo"
@click="FnCopy(record.billNo)"
class="iconfont icon-fuzhi3"
></span>
<span>{{ record.billNo }}</span>
</div>
</template> </template>
<template v-if="column.dataIndex == 'isLocking'"> <!-- <template v-if="column.key === 'action'">
<span v-if="record.isLocking">
<i class="iconfont icon-locksuo"></i>
</span>
<span v-else> <i class="iconfont icon-a-jiesuo1_jiesuo"></i> </span>
</template>
<template v-if="column.dataIndex == 'billType'">
<span
v-for="item in billTypeData"
:key="item.value"
v-show="item.value == record.billType"
>
{{ item.label }}
</span>
</template>
<template v-if="column.dataIndex == 'isNoTax'">
<a-tag color="error" v-if="record.isNoTax == 'true'"></a-tag>
<a-tag color="success" v-else></a-tag>
</template>
</template>
<template v-slot:tableAction="{ record }">
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>编辑</span>
</template>
<a-button type="link" @click="GoDetailed(true, record)">
<span class="iconfont icon-icon_519"></span>
</a-button>
</a-tooltip>
</template>
<!-- <template v-if="column.key === 'action'">
<TableAction <TableAction
:actions="[ :actions="[
{ {
@ -136,20 +77,18 @@
]" ]"
/> />
</template> --> </template> -->
</BasicTable> </BasicTable>
<!-- 合计 -->
<div class="static-box">
<a-table <a-table
class="ds-table" class="static-box"
:columns="calcColumns" :columns="calcColumns"
:data-source="calcData" :data-source="calcData"
:pagination="false" :pagination="false"
></a-table> ></a-table>
</div> </div>
<!-- <DsPrint ref="dsPrint" name="客户对账"></DsPrint> -->
</div> </div>
<!-- <DsPrint ref="dsPrint" name="客户对账"></DsPrint> -->
</template> </template>
<script lang="ts" setup> <script lang="ts" setup name="客户对账">
import { ref } from 'vue' import { ref } from 'vue'
import { import {
GetCheckBillList, GetCheckBillList,
@ -159,12 +98,10 @@
} from './api.js' } from './api.js'
import { BasicTable, useTable, TableAction } from '/@/components/Table' import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { columns, searchFormSchema, billTypeData } from './columns' import { columns, searchFormSchema, billTypeData } from './columns'
import { GetOpenPrintModuleList } from '/@/views/operation/seaexport/api/BookingLedger.js'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
import DsPrint from '/@/components/Print/index.vue' import DsPrint from '/@/components/Print/index.vue'
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
const { notification, createMessage } = useMessage() const { notification, createMessage } = useMessage()
import { SvgIcon } from '/@/components/Icon'
import { useGo } from '/@/hooks/web/usePage' import { useGo } from '/@/hooks/web/usePage'
const go = useGo() const go = useGo()
// //
@ -173,53 +110,44 @@
const appStore = useAppStore() const appStore = useAppStore()
const tbHeight = window.innerHeight - 350 const tbHeight = window.innerHeight - 350
// //
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows, getRawDataSource }] = const [registerTable, { reload, getVxeSelectRows, getRawDataSource }] = useTable({
useTable({ title: '',
title: '', api: async (p) => {
api: async (p) => { const res: API.DataResult = await GetCheckBillList(p)
const res: API.DataResult = await GetCheckBillList(p) calcData.value = [res.data?.dataTotal]
calcData.value = [res.data?.dataTotal] return new Promise((resolve) => {
return new Promise((resolve) => { if (res.data?.list) {
if (res.data?.list) { const ids = res.data.list.map((item) => {
const ids = res.data.list.map((item) => { return item.id
return item.id })
}) appStore.setIds(ids, 'khdz')
appStore.setIds(ids, 'khdz') }
} resolve({ data: [...res.data.list], total: res.data.totalCount })
resolve({ data: [...res.data.list], total: res.data.totalCount }) })
}) },
}, //
// beforeFetch: (p) => {
beforeFetch: (p) => { return formatParams(p)
return formatParams(p) },
}, columns,
columns, formConfig: {
formConfig: { labelWidth: 120,
labelWidth: 120, schemas: searchFormSchema,
schemas: searchFormSchema, },
}, isTreeTable: false,
isTreeTable: false, pagination: true,
pagination: true, striped: true,
striped: true, useSearchForm: true,
useSearchForm: true, showTableSetting: true,
showTableSetting: true, bordered: true,
bordered: true, showIndexColumn: true,
showIndexColumn: true, canResize: true,
indexColumnProps: { immediate: true,
width: 60, resizeHeightOffset: 131,
}, tableComponent: 'vxe',
canResize: true, autoHeight: window.innerHeight - 416.5,
resizeHeightOffset: 90, id: '0',
autoHeight: tbHeight, })
immediate: true,
tableComponent: 'vxe',
actionColumn: {
width: 60,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
})
// //
function FnCopy(data) { function FnCopy(data) {
const el = document.createElement('input') const el = document.createElement('input')
@ -240,7 +168,7 @@
} }
// //
function FnDel() { function FnDel() {
const select = getSelectRows() const select = getVxeSelectRows()
let ApiData: any = { let ApiData: any = {
ids: [], ids: [],
} }
@ -265,7 +193,7 @@
let ApiData: any = { let ApiData: any = {
ids: [], ids: [],
} }
getSelectRows().forEach((e) => { getVxeSelectRows().forEach((e) => {
ApiData.ids.push(e.id) ApiData.ids.push(e.id)
}) })
@ -282,7 +210,7 @@
let ApiData: any = { let ApiData: any = {
ids: [], ids: [],
} }
getSelectRows().forEach((e) => { getVxeSelectRows().forEach((e) => {
ApiData.ids.push(e.id) ApiData.ids.push(e.id)
}) })
CheckBillUnLocking(ApiData).then((res) => { CheckBillUnLocking(ApiData).then((res) => {
@ -466,12 +394,12 @@
color: #257afa; color: #257afa;
cursor: pointer; cursor: pointer;
} }
.topTable { .ds-sea-export-table {
// height: calc(100vh - 145px); height: 100%;
.static-box { .ds-table {
position: fixed; .ant-table-body {
bottom: 0; min-height: calc(100vh - 430px);
padding-left: 20px; }
} }
} }
.ds-h-aciton-btns-fee { .ds-h-aciton-btns-fee {

Loading…
Cancel
Save