szh-new
张同海 4 months ago
parent cd0b670422
commit e44acf28ab

@ -339,7 +339,6 @@ export const formSchema: FormSchema[] = [
component: 'DatePicker',
colProps: { span: 12 },
defaultValue: '',
required: true,
componentProps: {
showTime: true,
style: 'width:100%',
@ -351,7 +350,6 @@ export const formSchema: FormSchema[] = [
component: 'DatePicker',
colProps: { span: 12 },
defaultValue: '',
required: true,
componentProps: {
showTime: true,
style: 'width:100%',
@ -361,14 +359,12 @@ export const formSchema: FormSchema[] = [
field: 'anniversaryNote1',
label: '提醒备注1',
component: 'Input',
required: true,
colProps: { span: 12 },
},
{
field: 'anniversaryNote2',
label: '提醒备注2',
component: 'Input',
required: true,
colProps: { span: 12 },
},
{

@ -7,16 +7,16 @@
<!-- <div > <i class="iconfont icon-jiahao2fill"></i>费用提交审核</div> -->
<div class="left">
<a-button type="link" @click="Lock">
<a-button v-repeat type="link" @click="Lock">
<span class="iconfont icon-locksuo IconColor"></span>
锁定
</a-button>
<a-button type="link" @click="UnLock">
<a-button v-repeat type="link" @click="UnLock">
<span class="iconfont icon-lock-openkaisuo IconColor"></span>
撤销锁定
</a-button>
</div>
<a-button type="link" @click="addDetail">
<a-button v-repeat type="link" @click="addDetail">
<span class="iconfont icon-new_document"></span>
新建
</a-button>
@ -50,17 +50,17 @@
<template #tableTitle>
<p class="tableTitle">账单明细</p>
<a-popconfirm
title="确定删除当前选中数据?"
title="确定删除选中数据?"
ok-text="是"
cancel-text="否"
@confirm="DelDetailL"
>
<a-button type="link">
<a-button v-repeat type="link">
<span class="iconfont icon-shanchu21"></span>
删除账单明细
</a-button>
</a-popconfirm>
<a-button type="link" @click="waitFor">
<a-button v-repeat type="link" @click="waitFor">
<span class="iconfont icon-fujian"></span>
附件管理
</a-button>
@ -71,20 +71,19 @@
<div class="bottomTableR">
<a-spin :spinning="spinningR">
<BasicTable class="ds-table" @register="registerTableR">
<template #toolbar>
<div class="buttonGroup">
<a-popconfirm
title="是否要删除选中数据?"
ok-text="是"
cancel-text="否"
@confirm="DelDetailR"
>
<div>
<i class="iconfont icon-shanchu2"></i>
删除账单费用明细
</div>
</a-popconfirm>
</div>
<template #tableTitle>
<p class="tableTitle">费用账单明细</p>
<a-popconfirm
title="是否要删除选中数据?"
ok-text="是"
cancel-text="否"
@confirm="DelDetailR"
>
<a-button v-repeat type="link">
<span class="iconfont icon-shanchu21"></span>
删除账单费用明细
</a-button>
</a-popconfirm>
</template>
</BasicTable>
</a-spin>
@ -204,8 +203,6 @@
showTableSetting: false,
bordered: true,
showIndexColumn: true,
// canResize: true,
// resizeHeightOffset: 3500,
immediate: false,
},
)
@ -403,7 +400,7 @@
})
}
</script>
<style lang="less" scoped>
<!-- <style lang="less" scoped>
/deep/.ant-table-container {
height: calc(100vh - 301px);
.ant-table-body {
@ -417,8 +414,8 @@
}
}
}
</style>
<style lang="less">
</style> -->
<style lang="less" scoped>
.CsMain {
height: 100%;
display: flex;
@ -470,7 +467,7 @@
height: calc(100vh - 600px);
border: 1px solid #e8ebed;
}
.ant-spin-nested-loading {
:deep(.ant-spin-nested-loading) {
height: 100%;
.ant-spin-container {
height: 100%;
@ -486,6 +483,17 @@
height: calc(100% - 30px);
.ant-table-container {
height: calc(100% - 54px);
.ant-table-body {
max-height: auto !important;
height: auto !important;
table {
height: calc(100% - 24px) !important;
}
}
.ant-table-content {
overflow: auto !important;
height: 100%;
}
}
}
}

@ -1,13 +1,12 @@
<template>
<BasicModal
class="customerModal"
v-bind="$attrs"
:use-wrapper="true"
title="增加账单明细"
width="90%"
title="添加账单明细"
@register="registerModal"
@cancel="closeModal"
:defaultFullscreen="true"
width="84%"
height="793"
:canFullscreen="false"
:showFooter="false"
>
@ -17,8 +16,38 @@
<BasicForm @register="registerForm" @submit="handleSubmit" />
</a-col>
</a-row>
<a-row class="p-4 CsBottom" :gutter="5">
<a-col :span="17" class="bottomTableL">
<div class="CsBottom">
<div class="bottomTableL">
<a-spin :spinning="spinningL">
<BasicTable
class="ds-table"
@register="registerTableL"
@selection-change="selectionChange"
>
<template #tableTitle>
<p class="tableTitle">账单明细</p>
<a-button v-repeat type="link" @click="addDetailL">
<i class="iconfont icon-jiahao2fill"></i>增加账单明细
</a-button>
</template>
</BasicTable>
</a-spin>
</div>
<div class="bottomTableR">
<a-spin :spinning="spinningR">
<BasicTable class="ds-table" @register="registerTableRT" rowKey="id" :maxHeight="300">
<template #tableTitle>
<p class="tableTitle">账单费用明细</p>
<a-button v-repeat type="link" @click="addDetailR">
<i class="iconfont icon-jiahao2fill"></i>增加账单费用明细
</a-button>
</template>
</BasicTable>
</a-spin>
</div>
</div>
<!-- <a-row class="p-4 CsBottom" :gutter="5"> -->
<!-- <a-col :span="17" class="bottomTableL">
<a-spin :spinning="spinningL">
<BasicTable @register="registerTableL" @selection-change="selectionChange">
<template #toolbar>
@ -28,8 +57,8 @@
</template>
</BasicTable>
</a-spin>
</a-col>
<a-col :span="7" class="bottomTableR">
</a-col> -->
<!-- <a-col :span="7" class="bottomTableR">
<a-spin :spinning="spinningR">
<BasicTable @register="registerTableRT" rowKey="id" :maxHeight="300">
<template #toolbar>
@ -40,20 +69,11 @@
</BasicTable>
</a-spin>
<BasicTable style="height: '50%'" @register="registerTableRB"></BasicTable>
</a-col>
</a-row>
</a-col> -->
<!-- </a-row> -->
</div>
<template #footer>
<span> </span>
<!-- <a-button
pre-icon="ant-design:close-outlined"
type="warning"
ghost
style="margin-right: 0.8rem"
@click="closeModal"
>
取消
</a-button> -->
</template>
</BasicModal>
</template>
@ -90,7 +110,7 @@
dataSourceL.value = res.data
setTableData([...res.data])
setTableDataRT([])
setTableDataRB([])
// setTableDataRB([])
}
spinningL.value = false
}
@ -103,42 +123,47 @@
title: '',
dataSource: dataSourceL.value,
rowSelection: { type: 'checkbox' },
clickToRowSelect: true,
columns: columnsL,
pagination: true,
striped: true,
showTableSetting: false,
bordered: true,
canResize: false,
immediate: true,
showIndexColumn: true,
immediate: false,
})
//
function selectionChange(e) {
spinningR.value = true
let ApiData = {
queryCondition: `[{"FieldName":"businessId","FieldValue":"${
e.rows[e.rows.length - 1].id
}","ConditionalType":1}]`,
pageCondition: {
sortConditions: [],
},
}
GetFeeRecordQueryList(ApiData).then((res) => {
console.log(res.data)
let Arr: any = [
{ currency: 'RMB', cr: 0, dr: 0 },
{ currency: 'USD', cr: 0, dr: 0 },
]
getSelectRowsL().forEach((item) => {
Arr[0].cr = parseInt(item.rmbcr) + parseInt(Arr[0].cr)
Arr[0].dr = parseInt(item.rmbdr) + parseInt(Arr[0].dr)
Arr[1].cr = parseInt(item.usdcr) + parseInt(Arr[1].cr)
Arr[1].dr = parseInt(item.usddr) + parseInt(Arr[1].dr)
console.log(e)
if (e.rows.length) {
spinningR.value = true
let ApiData = {
queryCondition: `[{"FieldName":"businessId","FieldValue":"${
e.rows[e.rows.length - 1].id
}","ConditionalType":1}]`,
pageCondition: {
sortConditions: [],
},
}
GetFeeRecordQueryList(ApiData).then((res) => {
console.log(res.data)
let Arr: any = [
{ currency: 'RMB', cr: 0, dr: 0 },
{ currency: 'USD', cr: 0, dr: 0 },
]
getSelectRowsL().forEach((item) => {
Arr[0].cr = parseInt(item.rmbcr) + parseInt(Arr[0].cr)
Arr[0].dr = parseInt(item.rmbdr) + parseInt(Arr[0].dr)
Arr[1].cr = parseInt(item.usdcr) + parseInt(Arr[1].cr)
Arr[1].dr = parseInt(item.usddr) + parseInt(Arr[1].dr)
})
// setTableDataRB(Arr)
setTableDataRT(res.data)
spinningR.value = false
})
setTableDataRB(Arr)
setTableDataRT(res.data)
spinningR.value = false
})
} else {
setTableDataRT([])
}
}
function beforeFetch(data) {
var currentPageInfo: any = getPaginationRef()
@ -225,7 +250,7 @@
dataSourceL.value = res.data
setTableData([...res.data])
setTableDataRT([])
setTableDataRB([])
// setTableDataRB([])
spinningL.value = false
}
setModalProps({ confirmLoading: false, loading: false })
@ -236,7 +261,7 @@
title: '',
rowSelection: { type: 'checkbox' },
columns: columnsRT,
pagination: false,
pagination: true,
striped: true,
showTableSetting: false,
bordered: true,
@ -244,24 +269,24 @@
canResize: false,
immediate: false,
})
//
const [registerTableRB, { setTableData: setTableDataRB }] = useTable({
title: '',
// api: async (p) => {
// const res: API.DataResult = await ApiList(p)
// return new Promise((resolve) => {
// resolve({ data: [...res.data], total: res.count })
// })
// },
columns: columnsRB,
pagination: false,
striped: true,
showTableSetting: false,
bordered: true,
showIndexColumn: true,
canResize: false,
immediate: false,
})
// //
// const [registerTableRB, { setTableData: setTableDataRB }] = useTable({
// title: '',
// // api: async (p) => {
// // const res: API.DataResult = await ApiList(p)
// // return new Promise((resolve) => {
// // resolve({ data: [...res.data], total: res.count })
// // })
// // },
// columns: columnsRB,
// pagination: false,
// striped: true,
// showTableSetting: false,
// bordered: true,
// showIndexColumn: true,
// canResize: false,
// immediate: false,
// })
// id id idsid
//
function addDetailL() {
@ -288,57 +313,62 @@
})
</script>
<style lang="less" scoped>
:deep(.ant-form-item) {
margin-bottom: 0px !important;
}
.bottomTableL {
:deep(.ant-table-container) {
min-height: calc(100vh - 430px);
// .ant-table-content {
// height: 100%;
// }
// .ant-table-expanded-row-fixed {
// height: calc(100vh - 429px);
// }
}
}
.bottomTableR {
:deep(.ant-table-container) {
min-height: calc(100vh - 665px);
// .ant-table-content {
// height: 100%;
// }
// .ant-table-expanded-row-fixed {
// height: calc(100vh - 664px);
// }
}
}
</style>
<style lang="less">
.CsMain {
height: 100%;
display: flex;
flex-direction: column;
.CsHeader {
padding-bottom: 0 !important;
padding-top: 0 !important;
padding: 0 !important;
.headerForm {
background: #fff;
padding: 10px 15px 0 15px !important;
margin-bottom: 5px;
padding: 0 !important;
}
}
.CsBottom {
flex: 1;
padding-top: 0 !important;
.bottomTableL {
padding-left: 0 !important;
}
.bottomTableR {
padding-right: 0 !important;
.vben-basic-table {
height: auto !important;
.tableTitle {
margin: 0;
font-size: 12px;
font-weight: 700;
letter-spacing: 1px;
line-height: 15.84px;
color: rgba(51, 56, 61, 1);
text-align: left;
vertical-align: bottom;
}
.bottomTableL {
height: calc(100vh - 650px);
margin-bottom: 10px;
}
.bottomTableR {
height: calc(100vh - 650px);
}
:deep(.ant-spin-nested-loading) {
height: 100%;
.ant-spin-container {
height: 100%;
.ds-table {
height: 100%;
.ant-table-wrapper {
height: 100%;
.ant-spin-nested-loading {
height: 100%;
.ant-spin-container {
height: 100%;
.ant-table {
height: calc(100% - 30px);
.ant-table-container {
height: calc(100% - 54px);
.ant-table-body {
max-height: auto !important;
height: auto !important;
table {
height: calc(100% - 24px) !important;
}
}
.ant-table-content {
overflow: auto !important;
height: 100%;
}
}
}
}
}
}
}
}
}

@ -74,7 +74,7 @@ export const schemas: FormSchema[] = [
component: 'RangePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 7 },
colProps: { span: 8 },
componentProps: {
allowClear: true,
},
@ -85,28 +85,12 @@ export const schemas: FormSchema[] = [
component: 'RangePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
colProps: { span: 8 },
componentProps: {
allowClear: true,
},
},
{
field: 'CZ',
component: 'Button',
label: '',
colProps: { span: 2 },
componentProps: ({ formActionType }) => {
return {
text: '重置条件',
icon: 'icon-guanbi',
onTrigger: () => {
if (formActionType) {
formActionType.resetFields()
}
},
}
},
},
{
field: 'billType',
component: 'Select',
@ -114,14 +98,14 @@ export const schemas: FormSchema[] = [
options: billTypeData,
},
label: '收付类型',
colProps: { span: 2 },
colProps: { span: 4 },
},
{
field: 'isDebit',
component: 'Select',
label: '是否对账',
dynamicDisabled: false,
colProps: { span: 2 },
colProps: { span: 4 },
componentProps: {
options: TFData,
},
@ -152,7 +136,7 @@ export const schemas: FormSchema[] = [
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
colProps: { span: 3 },
colProps: { span: 4 },
componentProps: () => {
return {
api: GetFeeCurrencySelectList,
@ -200,7 +184,7 @@ export const schemas: FormSchema[] = [
component: 'Select',
label: '是否海运费',
dynamicDisabled: false,
colProps: { span: 3 },
colProps: { span: 4 },
componentProps: ({ formModel }) => {
return {
options: TFData,
@ -218,7 +202,7 @@ export const schemas: FormSchema[] = [
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
colProps: { span: 3 },
colProps: { span: 4 },
componentProps: () => {
return {
api: GetVesselSelectList,
@ -231,24 +215,6 @@ export const schemas: FormSchema[] = [
}
},
},
{
field: 'CS',
component: 'Button',
label: '',
colProps: { span: 2 },
componentProps: ({ formActionType }) => {
return {
text: '执行查询',
icon: 'icon-shuaxin',
onTrigger: () => {
if (formActionType) {
formActionType.submit()
}
},
}
},
},
{
label: '航次',
field: 'voyno',
@ -301,7 +267,7 @@ export const schemas: FormSchema[] = [
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
colProps: { span: 3 },
colProps: { span: 4 },
componentProps: () => {
return {
api: () => {
@ -353,6 +319,40 @@ export const schemas: FormSchema[] = [
}
},
},
{
field: 'CS',
component: 'Button',
label: '',
colProps: { span: 2 },
componentProps: ({ formActionType }) => {
return {
text: '执行查询',
icon: 'icon-shuaxin',
onTrigger: () => {
if (formActionType) {
formActionType.submit()
}
},
}
},
},
{
field: 'CZ',
component: 'Button',
label: '',
colProps: { span: 2 },
componentProps: ({ formActionType }) => {
return {
text: '重置条件',
icon: 'icon-guanbi',
onTrigger: () => {
if (formActionType) {
formActionType.resetFields()
}
},
}
},
},
]
export const columnsL: BasicColumn[] = [
{ title: '业务类型', dataIndex: 'businessTypeName', align: 'left' },

@ -11,22 +11,22 @@
>
<template #tableTitle>
<div class="buttonGroup">
<a-button type="link" @click="Lock">
<a-button v-repeat type="link" @click="Lock">
<span class="iconfont icon-locksuo IconColor"></span>
锁定
</a-button>
<a-button type="link" @click="UnLock">
<a-button v-repeat type="link" @click="UnLock">
<span class="iconfont icon-lock-openkaisuo IconColor"></span>
撤销锁定
</a-button>
<a-button type="link" @click="ExportExcel">
<a-button v-repeat type="link" @click="ExportExcel">
<span class="iconfont icon-weibiaoti--"></span>
EXCEL导出
</a-button>
</div>
</template>
<template #toolbar>
<a-button type="link" @click="GoDetailed(false, null)">
<a-button v-repeat type="link" @click="GoDetailed(false, null)">
<span class="iconfont icon-new_document"></span>
添加
</a-button>
@ -36,7 +36,7 @@
删除
</a-button>
</a-popconfirm>
<a-button type="link" @click="printFee">
<a-button v-repeat type="link" @click="printFee">
<span class="iconfont icon-xiaopiaodayin"></span>
打印
</a-button>

@ -8,16 +8,25 @@ import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/feeApi/InvoiceApplication/GetList',
GetBizList = '/feeApi/InvoiceApplication/GetBizList',
Get = '/feeApi/InvoiceApplication/Get',
GetFees = '/feeApi/InvoiceApplication/GetFees',
Save = '/feeApi/InvoiceApplication/Save',
BizSave = '/feeApi/InvoiceApplication/BizSave',
DeleteInvoiceDetail = '/feeApi/InvoiceApplication/DeleteInvoiceDetail',
DeleteDetail = '/feeApi/InvoiceApplication/DeleteDetail',
Delete = '/feeApi/InvoiceApplication/Delete',
ApplyAudit = '/feeApi/InvoiceApplication/ApplyAudit',
Withdraw = '/feeApi/InvoiceApplication/Withdraw',
GetTemplateFields = '/feeApi/InvoiceApplication/GetTemplateFields',
GetTemplateList = '/feeApi/InvoiceApplication/GetTemplateList',
SaveTemplate = '/feeApi/InvoiceApplication/SaveTemplate',
RenderTemplate = '/feeApi/InvoiceApplication/RenderTemplate',
edit = '/feeApi/FeeCurrency/EditFeeCurrency',
info = '/feeApi/FeeCurrency/GetFeeCurrencyInfo',
GetBizList = '/feeApi/PaymentApplication/GetBizList',
Save = '/feeApi/PaymentApplication/Save',
Get = '/feeApi/PaymentApplication/Get',
GetExchangeRate = '/feeApi/FeeCurrencyExchange/GetExchangeRate',
BizSave = '/feeApi/PaymentApplication/BizSave',
Delete = '/feeApi/PaymentApplication/Delete',
ApplyAudit = '/feeApi/PaymentApplication/ApplyAudit',
Withdraw = '/feeApi/PaymentApplication/Withdraw'
}
// 列表 (Auth)
export function GetList(data: PageRequest) {

@ -1,34 +1,68 @@
<!--
* @Description: 操作管理 -> 付费申请
* @Author: lijj
* @Date: 2024-06-20 11:54:04
-->
<template>
<div class="ds-invoice-apply">
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="edit">
<template #toolbar>
<TableActionBar :selectRow="getSelectRows" :reload="reload" @exportFile="exportFile"></TableActionBar>
<TableActionBar
:selectRow="getSelectRows"
:reload="reload"
@exportFile="exportFile"
></TableActionBar>
</template>
<template v-slot:bodyCell="{ column, record }">
<!-- 复制单号 -->
<template v-if="column.dataIndex == 'applicationNO'">
<span @click="copyNo($event, record.applicationNO)" style="cursor: pointer"><span class="iconfont icon-fuzhi" :style="{'fontSize': '12px', 'color': '#419638'}"></span> <span class="ds-green-status">{{ record.applicationNO }}</span></span>
<span @click="copyNo($event, record.applicationNO)" style="cursor: pointer"
><span
class="iconfont icon-fuzhi"
:style="{ fontSize: '12px', color: '#419638' }"
></span>
<span class="ds-green-status">{{ record.applicationNO }}</span></span
>
</template>
<!-- 状态 -->
<template v-if="column.dataIndex == 'status'">
<span v-if="record.status == 0" class="ds-green-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="record.status == 1" class="ds-blue-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="/^2|3|4|5|6$/.test(record.status)" class="ds-orange-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="/^7|8$/.test(record.status)" class="ds-red-status"> {{ FeeStatus[record.status] }}</span>
<span v-if="record.status == 0" class="ds-green-status"
> {{ FeeStatus[record.status] }}</span
>
<span v-else-if="record.status == 1" class="ds-blue-status"
> {{ FeeStatus[record.status] }}</span
>
<span v-else-if="/^2|3|4|5|6$/.test(record.status)" class="ds-orange-status"
> {{ FeeStatus[record.status] }}</span
>
<span v-else-if="/^7|8$/.test(record.status)" class="ds-red-status"
> {{ FeeStatus[record.status] }}</span
>
<span v-else class="ds-purple-status"> {{ FeeStatus[record.status] }}</span>
</template>
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: () => {
GoDetailed(true, record)
},
},
]"
/>
</template>
</template>
</BasicTable>
<div>
<a-table
class="ds-table"
:columns="calcColumns"
:data-source="calcData"
:pagination="false"
></a-table>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import TableActionBar from './components/tableActionBar.vue'
import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage()
@ -38,75 +72,89 @@
import { exportExcel } from '/@/hooks/web/common'
const go = useGo()
const params = ref([])
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows, getColumns }] = useTable({
title: '',
api: async (p) => {
params.value = p
const res = await GetList(p)
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
},
beforeFetch: () => {
var currentPageInfo: any = getPaginationRef()
var data = getForm().getFieldsValue()
const postParam = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
let condition: API.ConditionItem[] = []
if (!!data.billNO) {
condition.push({
FieldName: 'billNO',
FieldValue: data.billNO,
ConditionalType: 1,
})
}
if (!!data.applicationNO) {
condition.push({
FieldName: 'applicationNO',
FieldValue: data.applicationNO,
ConditionalType: 1,
})
}
if (!!data.customerId) {
condition.push({
FieldName: 'customerId',
FieldValue: data.customerId,
ConditionalType: 1,
})
}
if (!!data.status) {
condition.push({
FieldName: 'status',
FieldValue: data.status,
ConditionalType: 1,
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows, getColumns }] =
useTable({
title: '',
api: async (p) => {
params.value = p
const res = await GetList(p)
calcData.value = [res.additionalData]
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
}
console.log(condition)
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns,
formConfig: {
labelWidth: 120,
schemas: searchFormSchema,
},
isTreeTable: false,
pagination: true,
striped: false,
useSearchForm: true,
showTableSetting: true,
bordered: true,
showIndexColumn: true,
canResize: false,
immediate: false,
id: '0'
})
},
beforeFetch: () => {
var currentPageInfo: any = getPaginationRef()
var data = getForm().getFieldsValue()
const postParam = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
let condition: API.ConditionItem[] = []
if (!!data.billNO) {
condition.push({
FieldName: 'billNO',
FieldValue: data.billNO,
ConditionalType: 1,
})
}
if (!!data.applicationNO) {
condition.push({
FieldName: 'applicationNO',
FieldValue: data.applicationNO,
ConditionalType: 1,
})
}
if (!!data.customerId) {
condition.push({
FieldName: 'customerId',
FieldValue: data.customerId,
ConditionalType: 1,
})
}
if (!!data.status) {
condition.push({
FieldName: 'status',
FieldValue: data.status,
ConditionalType: 1,
})
}
console.log(condition)
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns,
formConfig: {
labelWidth: 120,
//
schemas: searchFormSchema,
// ()
useAdvancedSearch: true,
},
isTreeTable: false,
pagination: true,
striped: true,
useSearchForm: true,
showTableSetting: true,
bordered: true,
showIndexColumn: true,
indexColumnProps: {
width: 60,
},
canResize: true,
resizeHeightOffset: 80,
immediate: true,
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
})
// Excel
const exportFile = () => {
exportExcel(GetList, params.value, getColumns(), '费用申请')
@ -114,7 +162,7 @@
const copyNo = (e, v) => {
e.stopPropagation()
navigator.clipboard.writeText(v)
createMessage.success("复制成功")
createMessage.success('复制成功')
}
//
const edit = (row) => {
@ -127,12 +175,27 @@
function handleSuccess() {
reload()
}
//
const calcColumns = [
{
title: '申请金额',
dataIndex: 'applyAmountSum',
width: 110,
},
{
title: '开票金额',
dataIndex: 'invoiceAmountSum',
width: 110,
},
]
//
const calcData = ref([])
</script>
<style lang="less">
.ds-pay-apply {
.vben-basic-table-header__toolbar {
justify-content: space-between;
.ds-pay-apply {
.vben-basic-table-header__toolbar {
justify-content: space-between;
}
}
}
</style>
</style>

Loading…
Cancel
Save