lijingjia 3 weeks ago
commit 6875d25b35

@ -16,10 +16,15 @@ const bankList = ref([])
import { Tag } from 'ant-design-vue' import { Tag } from 'ant-design-vue'
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '结算单号', title: '申请单号',
dataIndex: 'applicationNO', dataIndex: 'applicationNO',
width: 100, width: 100,
}, },
{
title: '结算单号',
dataIndex: 'settlementNO',
width: 100,
},
{ {
title: '状态', title: '状态',
dataIndex: 'isLocked', dataIndex: 'isLocked',
@ -238,8 +243,8 @@ export const searchFormSchema: FormSchema[] = [
} }
}, },
{ {
field: 'applicationNO', field: 'number',
label: '申请单号', label: '业务编号',
colProps: { span: 4 }, colProps: { span: 4 },
component: 'Input' component: 'Input'
}, },
@ -1398,7 +1403,7 @@ export const freeColum: BasicColumn[] = [
}, },
{ {
title: '结算金额', title: '结算金额',
dataIndex: 'settlementAmount', dataIndex: 'applyAmount',
width: 100, width: 100,
}, },
{ {

@ -122,7 +122,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onMounted, defineComponent, nextTick, watchEffect, watch } from 'vue' import { ref, onMounted, defineComponent, nextTick, watchEffect, watch } from 'vue'
import { import {
InvoiceSettlementSave, InvoiceSettlementGet, InvoiceSettlementSave, InvoiceSettlementGet,PaymentFreeSettlementGetFees,
PaymentSettlementGetList, PaymentSettlementDeleteDetail, PaymentFreeSettlementGet, PaymentSettlementGetList, PaymentSettlementDeleteDetail, PaymentFreeSettlementGet,
GeneralInvoiceGet, PaymentFreeSettlementSave GeneralInvoiceGet, PaymentFreeSettlementSave
} from '../api' } from '../api'
@ -272,14 +272,14 @@ function ClickLast(type) {
if (indexQuery == 0) { if (indexQuery == 0) {
createMessage.warning('已经是第一条了') createMessage.warning('已经是第一条了')
} else { } else {
go("/invoiceIssueDetail?id=" + list[indexQuery - 1].id + '&type=' + route.query.type) go("/feeSettlementDetail?id=" + list[indexQuery - 1].id + '&type=' + route.query.type)
} }
} }
if (type == 'last') { if (type == 'last') {
if (indexQuery == list.length - 1) { if (indexQuery == list.length - 1) {
createMessage.warning('已经是最后一条了') createMessage.warning('已经是最后一条了')
} else { } else {
go("/invoiceIssueDetail?id=" + list[indexQuery + 1].id + '&type=' + route.query.type) go("/feeSettlementDetail?id=" + list[indexQuery + 1].id + '&type=' + route.query.type)
} }
} }
}) })
@ -323,6 +323,23 @@ function handleClick(record) {
} }
}) })
} }
if (route.query.type == 'free') {
setSelectedRowKeys([record.id])
const data = {
items: [{
id: record.businessId,
businessType: record.businessType,
customerId: record.customerId
}],
queryCondition: ''
}
PaymentFreeSettlementGetFees(data).then(res => {
if (res.succeeded) {
setTableData1(res.data.items)
}
loading.value = false
})
}
} }
const invoiceTableRef = ref(null) as any const invoiceTableRef = ref(null) as any

@ -44,7 +44,7 @@
</template> </template>
<template v-if="column.dataIndex == 'amount'"> <template v-if="column.dataIndex == 'amount'">
<a-input-number @change="onSelectChangeDetail" :precision="2" size="small" :controls="false" <a-input-number @change="onSelectChangeDetail" :precision="2" size="small" :controls="false"
:max="record.restAmount" v-model:value="record.amount" /> :max="record.maxRestAmount" v-model:value="record.restAmount" />
</template> </template>
</template> </template>
<template #footer> <template #footer>
@ -112,12 +112,12 @@
</a-spin> </a-spin>
</div> </div>
</a-modal> </a-modal>
<a-modal width="400px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag" <a-modal width="500px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag"
title="币别汇率折算"> title="币别汇率折算">
<div> <div>
<div v-for="(item, index) in exchangarr" :key="index"> <div v-for="(item, index) in exchangarr" :key="index">
<div style="margin-bottom: 15px;margin-top: 10px"> <div style="margin-bottom: 15px;margin-top: 10px">
<span class="bold" style="margin-right: 10px;width:46px;display: inline-block">1{{ item.currencyTo <span class="bold" style="margin-right: 10px;width:66px;display: inline-block">1{{ item.currencyTo
}} }}
=</span> =</span>
<a-input-number :addon-after="item.currencyFrom" :precision="4" size="small" :controls="false" <a-input-number :addon-after="item.currencyFrom" :precision="4" size="small" :controls="false"
@ -202,7 +202,8 @@ const [registerTable1, { getSelectRows: getSelectRowsDetail, setTableData }] = u
pagination: false, pagination: false,
striped: false, striped: false,
rowSelection: { rowSelection: {
onChange: onSelectChangeDetail onChange: onSelectChangeDetail,
fixed: true,
}, },
maxHeight: '900', maxHeight: '900',
bordered: true, bordered: true,
@ -314,6 +315,9 @@ const onRowClick = (record, index) => {
} }
PaymentFreeSettlementGetFees(data).then(res => { PaymentFreeSettlementGetFees(data).then(res => {
if (res.succeeded) { if (res.succeeded) {
res.data.items.forEach(item=>{
item.maxRestAmount = item.restAmount
})
setTableData(res.data.items) setTableData(res.data.items)
} }
loading.value = false loading.value = false
@ -554,8 +558,8 @@ function handleSureExhange() {
list.forEach(item => { list.forEach(item => {
item.originalCurrency = item.currency item.originalCurrency = item.currency
item.currency = currency.value item.currency = currency.value
item.originalAmount = item.amount item.originalAmount = item.restAmount
item.amount = Number((Number(item.amount) * Number(item.exchangeRate)).toFixed(2)) item.restAmount = Number((Number(item.restAmount) * Number(item.exchangeRate)).toFixed(2))
}) })
emits('updateListFree', list, currency.value) emits('updateListFree', list, currency.value)
} }
@ -645,7 +649,7 @@ function onSelectChangeDetail() {
if (route.query.type == 'free') { if (route.query.type == 'free') {
totalAmount.value = 0 totalAmount.value = 0
list.forEach(item => { list.forEach(item => {
totalAmount.value += Number(item.amount) totalAmount.value += Number(item.restAmount)
}) })
} }
} }

@ -57,7 +57,7 @@
<span class="iconfont icon-dingdan"></span> <span class="iconfont icon-dingdan"></span>
新建发票结算 新建发票结算
</a-button> </a-button>
<a-button v-repeat type="link" > <a-button v-repeat type="link">
<span class="iconfont icon-dingdan"></span> <span class="iconfont icon-dingdan"></span>
生成凭证 生成凭证
</a-button> </a-button>
@ -91,7 +91,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, onMounted, defineExpose, computed } from 'vue' import { ref, reactive, onMounted, defineExpose, computed } from 'vue'
import { PaymentSettlementGetList,PaymentSettlementDelete,PaymentSettlementSetLock } from './api.js' import { PaymentSettlementGetList, PaymentSettlementDelete, PaymentSettlementSetLock } from './api.js'
import { BasicTable, useTable, TableAction } from '/@/components/Table' import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { formatParams } from '/@/hooks/web/common' import { formatParams } from '/@/hooks/web/common'
import { columns, searchFormSchema, detailColumns, feeColumns, feeColumnsSum } from './columns' import { columns, searchFormSchema, detailColumns, feeColumns, feeColumnsSum } from './columns'
@ -100,7 +100,7 @@ import { SvgIcon } from '/@/components/Icon'
const { createMessage } = useMessage() const { createMessage } = useMessage()
import { useGo } from '/@/hooks/web/usePage' import { useGo } from '/@/hooks/web/usePage'
const go = useGo() const go = useGo()
const [registerTable, { reload, setLoading, getSelectRows, getRawDataSource }] = useTable({ const [registerTable, { reload, setLoading, getSelectRows, getForm }] = useTable({
api: async (p) => { api: async (p) => {
const res: API.DataResult = await PaymentSettlementGetList(p) const res: API.DataResult = await PaymentSettlementGetList(p)
return new Promise((resolve) => { return new Promise((resolve) => {
@ -108,7 +108,23 @@ const [registerTable, { reload, setLoading, getSelectRows, getRawDataSource }] =
}) })
}, },
beforeFetch: (p) => { beforeFetch: (p) => {
return formatParams(p) const data = formatParams(p)
data.otherQueryCondition = {}
if (getForm().getFieldsValue().number) {
data.otherQueryCondition.number = getForm().getFieldsValue().number
}
let queryData1 = [] as any
if (formatParams(p).queryCondition) {
queryData1 = JSON.parse(formatParams(p).queryCondition)
}
let i = queryData1.length
while (i--) {
if (queryData1[i].FieldName === 'number') {
queryData1.splice(i, 1)
}
}
data.queryCondition = JSON.stringify(queryData1)
return data
}, },
columns, columns,
formConfig: { formConfig: {

@ -1384,7 +1384,7 @@ export const freeColum: BasicColumn[] = [
}, },
{ {
title: '结算金额', title: '结算金额',
dataIndex: 'settlementAmount', dataIndex: 'applyAmount',
width: 100, width: 100,
}, },
{ {

@ -122,7 +122,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onMounted, defineComponent, nextTick, watchEffect, watch } from 'vue' import { ref, onMounted, defineComponent, nextTick, watchEffect, watch } from 'vue'
import { import {
InvoiceSettlementSave, InvoiceSettlementGet, InvoiceSettlementSave, InvoiceSettlementGet,PaymentFreeSettlementGetFees,
PaymentSettlementGetList, PaymentSettlementDeleteDetail, PaymentFreeSettlementGet, PaymentSettlementGetList, PaymentSettlementDeleteDetail, PaymentFreeSettlementGet,
GeneralInvoiceGet, PaymentFreeSettlementSave GeneralInvoiceGet, PaymentFreeSettlementSave
} from './api' } from './api'
@ -239,7 +239,7 @@ function updateListFreeLeft(arr, currency,arrQuery) {
tabStore.closeTabByKey(fullPath, router) tabStore.closeTabByKey(fullPath, router)
let type = route.query.type let type = route.query.type
setTimeout(() => { setTimeout(() => {
go(`/feeSettlementDetail?id=${res.data.id}&type=${type}`) go(`/paymentSettlementFree?id=${res.data.id}&type=${type}`)
}, 50) }, 50)
} else { } else {
getDetail() getDetail()
@ -273,14 +273,14 @@ function ClickLast(type) {
if (indexQuery == 0) { if (indexQuery == 0) {
createMessage.warning('已经是第一条了') createMessage.warning('已经是第一条了')
} else { } else {
go("/invoiceIssueDetail?id=" + list[indexQuery - 1].id + '&type=' + route.query.type) go("/paymentSettlementFree?id=" + list[indexQuery - 1].id + '&type=' + route.query.type)
} }
} }
if (type == 'last') { if (type == 'last') {
if (indexQuery == list.length - 1) { if (indexQuery == list.length - 1) {
createMessage.warning('已经是最后一条了') createMessage.warning('已经是最后一条了')
} else { } else {
go("/invoiceIssueDetail?id=" + list[indexQuery + 1].id + '&type=' + route.query.type) go("/paymentSettlementFree?id=" + list[indexQuery + 1].id + '&type=' + route.query.type)
} }
} }
}) })
@ -324,6 +324,23 @@ function handleClick(record) {
} }
}) })
} }
if (route.query.type == 'free') {
setSelectedRowKeys([record.id])
const data = {
items: [{
id: record.businessId,
businessType: record.businessType,
customerId: record.customerId
}],
queryCondition: ''
}
PaymentFreeSettlementGetFees(data).then(res => {
if (res.succeeded) {
setTableData1(res.data.items)
}
loading.value = false
})
}
} }
const invoiceTableRef = ref(null) as any const invoiceTableRef = ref(null) as any
@ -359,7 +376,7 @@ function updateList(arr, currency) {
tabStore.closeTabByKey(fullPath, router) tabStore.closeTabByKey(fullPath, router)
let type = route.query.type let type = route.query.type
setTimeout(() => { setTimeout(() => {
go(`/feeSettlementDetail?id=${res.data.id}&type=${type}`) go(`/paymentSettlementFree?id=${res.data.id}&type=${type}`)
}, 50) }, 50)
} else { } else {
getDetail() getDetail()
@ -388,7 +405,7 @@ function updateListFree(arr, currency) {
tabStore.closeTabByKey(fullPath, router) tabStore.closeTabByKey(fullPath, router)
let type = route.query.type let type = route.query.type
setTimeout(() => { setTimeout(() => {
go(`/feeSettlementDetail?id=${res.data.id}&type=${type}`) go(`/paymentSettlementFree?id=${res.data.id}&type=${type}`)
}, 50) }, 50)
} else { } else {
getDetail() getDetail()
@ -419,7 +436,7 @@ function handleSave() {
tabStore.closeTabByKey(fullPath, router) tabStore.closeTabByKey(fullPath, router)
let type = route.query.type let type = route.query.type
setTimeout(() => { setTimeout(() => {
go(`/feeSettlementDetail?id=${res.data.id}&type=${type}`) go(`/paymentSettlementFree?id=${res.data.id}&type=${type}`)
}, 50) }, 50)
} else { } else {
getDetail() getDetail()
@ -437,7 +454,7 @@ function handleSave() {
tabStore.closeTabByKey(fullPath, router) tabStore.closeTabByKey(fullPath, router)
let type = route.query.type let type = route.query.type
setTimeout(() => { setTimeout(() => {
go(`/feeSettlementDetail?id=${res.data.id}&type=${type}`) go(`/paymentSettlementFree?id=${res.data.id}&type=${type}`)
}, 50) }, 50)
} else { } else {
getDetail() getDetail()

@ -44,7 +44,7 @@
</template> </template>
<template v-if="column.dataIndex == 'amount'"> <template v-if="column.dataIndex == 'amount'">
<a-input-number @change="onSelectChangeDetail" :precision="2" size="small" :controls="false" <a-input-number @change="onSelectChangeDetail" :precision="2" size="small" :controls="false"
:max="record.restAmount" v-model:value="record.amount" /> :max="record.maxRestAmount" v-model:value="record.restAmount" />
</template> </template>
</template> </template>
<template #footer> <template #footer>
@ -112,12 +112,12 @@
</a-spin> </a-spin>
</div> </div>
</a-modal> </a-modal>
<a-modal width="400px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag" <a-modal width="500px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag"
title="币别汇率折算"> title="币别汇率折算">
<div> <div>
<div v-for="(item, index) in exchangarr" :key="index"> <div v-for="(item, index) in exchangarr" :key="index">
<div style="margin-bottom: 15px;margin-top: 10px"> <div style="margin-bottom: 15px;margin-top: 10px">
<span class="bold" style="margin-right: 10px;width:46px;display: inline-block">1{{ item.currencyTo <span class="bold" style="margin-right: 10px;width:66px;display: inline-block">1{{ item.currencyTo
}} }}
=</span> =</span>
<a-input-number :addon-after="item.currencyFrom" :precision="4" size="small" :controls="false" <a-input-number :addon-after="item.currencyFrom" :precision="4" size="small" :controls="false"
@ -202,7 +202,8 @@ const [registerTable1, { getSelectRows: getSelectRowsDetail, setTableData }] = u
pagination: false, pagination: false,
striped: false, striped: false,
rowSelection: { rowSelection: {
onChange: onSelectChangeDetail onChange: onSelectChangeDetail,
fixed: true,
}, },
maxHeight: '900', maxHeight: '900',
bordered: true, bordered: true,
@ -314,6 +315,9 @@ const onRowClick = (record, index) => {
} }
PaymentFreeSettlementGetFees(data).then(res => { PaymentFreeSettlementGetFees(data).then(res => {
if (res.succeeded) { if (res.succeeded) {
res.data.items.forEach(item=>{
item.maxRestAmount = item.restAmount
})
setTableData(res.data.items) setTableData(res.data.items)
} }
loading.value = false loading.value = false
@ -555,8 +559,8 @@ function handleSureExhange() {
list.forEach(item => { list.forEach(item => {
item.originalCurrency = item.currency item.originalCurrency = item.currency
item.currency = currency.value item.currency = currency.value
item.originalAmount = item.amount item.originalAmount = item.restAmount
item.amount = Number((Number(item.amount) * Number(item.exchangeRate)).toFixed(2)) item.restAmount = Number((Number(item.restAmount) * Number(item.exchangeRate)).toFixed(2))
}) })
emits('updateListFree', list, currency.value) emits('updateListFree', list, currency.value)
} }
@ -642,11 +646,12 @@ function init() {
} }
const totalAmount = ref(0) const totalAmount = ref(0)
function onSelectChangeDetail() { function onSelectChangeDetail() {
console.log('list', 111)
const list = getSelectRowsDetail() const list = getSelectRowsDetail()
if (route.query.type == 'free') { if (route.query.type == 'free') {
totalAmount.value = 0 totalAmount.value = 0
list.forEach(item => { list.forEach(item => {
totalAmount.value += Number(item.amount) totalAmount.value += Number(item.restAmount)
}) })
} }
} }

@ -84,7 +84,7 @@ export const searchFormSchema: FormSchema[] = [
}, },
}, },
{ {
field: 'applicationNO', field: 'number',
label: '编号', label: '编号',
component: 'Input', component: 'Input',
colProps: { span: 4 }, colProps: { span: 4 },
@ -125,7 +125,7 @@ export const columns: BasicColumn[] = [
}, },
{ {
title: '所属分部', title: '所属分部',
dataIndex: 'orgName', dataIndex: 'saleDeptName',
width: 100, width: 100,
align: 'left', align: 'left',
}, },

@ -96,18 +96,18 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
<a-modal width="400px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag" <a-modal width="500px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag"
title="币别汇率折算"> title="币别汇率折算">
<div v-for="(item, index) in exchangeData" :key="index"> <div v-for="(item, index) in exchangeData" :key="index">
<div style="margin-bottom: 15px;margin-top: 10px"> <div style="margin-bottom: 15px;margin-top: 10px">
<span class="bold" style="margin-right: 10px;width:46px;display: inline-block">1{{ item.currencyTo <span class="bold" style="margin-right: 10px;width:66px;display: inline-block">1{{ item.currencyTo
}} }}
=</span> =</span>
<a-input-number addon-after="RMB" :precision="4" size="small" :controls="false" <a-input-number addon-after="RMB" :precision="4" size="small" :controls="false"
v-model:value="item.reverseRate" /> v-model:value="item.reverseRate" />
</div> </div>
<div> <div>
<span class="bold" style="margin-right: 10px;width:46px;display: inline-block">1RMB =</span> <span class="bold" style="margin-right: 10px;width:66px;display: inline-block">1RMB =</span>
<a-input-number :addon-after="item.currencyTo" :precision="4" size="small" :controls="false" <a-input-number :addon-after="item.currencyTo" :precision="4" size="small" :controls="false"
v-model:value="item.rate" /> v-model:value="item.rate" />
</div> </div>

@ -29,7 +29,7 @@
</a-tooltip> </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 class="ds-action-svg-btn"> <span class="ds-action-svg-btn">
<a-popconfirm title="确定提交审核吗?" @confirm="handleApply" ok-text="" cancel-text=""> <a-popconfirm title="确定提交审核吗?" @confirm="handleApply" ok-text="" cancel-text="">
@ -39,7 +39,7 @@
</a-tooltip> </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 class="ds-action-svg-btn"> <span class="ds-action-svg-btn">
<a-popconfirm title="确定撤销审核吗?" @confirm="handleWithdraw" ok-text="" cancel-text=""> <a-popconfirm title="确定撤销审核吗?" @confirm="handleWithdraw" ok-text="" cancel-text="">
@ -76,7 +76,8 @@
<span v-else>{{ record.currency }}</span> <span v-else>{{ record.currency }}</span>
</template> </template>
<template v-if="column.dataIndex == 'applicationNO'"> <template v-if="column.dataIndex == 'applicationNO'">
<span style="cursor: pointer"><span><span @click="copyNo($event, record.applicationNO)" class="iconfont icon-fuzhi11"></span>{{ record.applicationNO }}</span></span> <span style="cursor: pointer"><span><span @click="copyNo($event, record.applicationNO)"
class="iconfont icon-fuzhi11"></span>{{ record.applicationNO }}</span></span>
</template> </template>
<template v-if="column.dataIndex == 'statusText'"> <template v-if="column.dataIndex == 'statusText'">
<span v-if="record.status == 0" class="ds-blue-tag"> <span v-if="record.status == 0" class="ds-blue-tag">
@ -125,7 +126,7 @@ import { formatParams } from '/@/hooks/web/common'
import { useAppStore } from '/@/store/modules/app' import { useAppStore } from '/@/store/modules/app'
const appStore = useAppStore() const appStore = useAppStore()
// //
const [registerTable, { reload, getPaginationRef, getSelectRows, getRawDataSource }] = useTable({ const [registerTable, { reload, getForm, getSelectRows, getRawDataSource }] = useTable({
title: '', title: '',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GetList(p) const res: API.DataResult = await GetList(p)
@ -135,7 +136,23 @@ const [registerTable, { reload, getPaginationRef, getSelectRows, getRawDataSourc
}, },
// //
beforeFetch: (p) => { beforeFetch: (p) => {
return formatParams(p) const data = formatParams(p)
data.otherQueryCondition = {}
if (getForm().getFieldsValue().number) {
data.otherQueryCondition.number = getForm().getFieldsValue().number
}
let queryData1 = [] as any
if (formatParams(p).queryCondition) {
queryData1 = JSON.parse(formatParams(p).queryCondition)
}
let i = queryData1.length
while (i--) {
if (queryData1[i].FieldName === 'number') {
queryData1.splice(i, 1)
}
}
data.queryCondition = JSON.stringify(queryData1)
return data
}, },
columns, columns,
formConfig: { formConfig: {
@ -154,7 +171,7 @@ const [registerTable, { reload, getPaginationRef, getSelectRows, getRawDataSourc
indexColumnProps: { indexColumnProps: {
width: 60, width: 60,
}, },
id:'44', id: '44',
canResize: true, canResize: true,
immediate: true, immediate: true,
actionColumn: { actionColumn: {
@ -176,7 +193,7 @@ const copyNo = (e, v) => {
e.stopPropagation() e.stopPropagation()
navigator.clipboard.writeText(v) navigator.clipboard.writeText(v)
createMessage.success("复制成功") createMessage.success("复制成功")
} }
// //
function FnDel() { function FnDel() {
let ids = [] let ids = []

@ -28,7 +28,7 @@ const FeeRangeList = [
] ]
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
{ {
field: 'mblno:hblno:bookingNO:customerNo', field: 'number',
label: '编号检索', label: '编号检索',
component: 'Input', component: 'Input',
colProps: { span: 4 }, colProps: { span: 4 },
@ -608,9 +608,25 @@ export const applySearch: FormSchema[] = [
}, },
{ {
label: '申请类型', label: '申请类型',
component: 'Input', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
field: 'feeType', field: 'mode',
componentProps: {
options: [
{
label: '普通发票',
value: '0',
},
{
label: '电子发票',
value: '1',
},
{
label: '纸质发票',
value: '2',
},
],
},
}, },
] ]

@ -60,11 +60,11 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
<a-modal width="400px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag" <a-modal width="500px" @cancel="exchangeFlag = false" @ok="handleSureExhange" :visible="exchangeFlag"
title="币别汇率折算"> title="币别汇率折算">
<div v-for="(item, index) in exchangarr" :key="index"> <div v-for="(item, index) in exchangarr" :key="index">
<div style="margin-bottom: 15px;margin-top: 10px"> <div style="margin-bottom: 15px;margin-top: 10px">
<span class="bold" style="margin-right: 10px;width:46px;display: inline-block">1{{ item.currencyTo <span class="bold" style="margin-right: 10px;width:66px;display: inline-block">1{{ item.currencyTo
}} }}
=</span> =</span>
<a-input-number addon-after="RMB" :precision="4" size="small" :controls="false" <a-input-number addon-after="RMB" :precision="4" size="small" :controls="false"

@ -115,7 +115,7 @@ import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage() const { createMessage } = useMessage()
import { useGo } from '/@/hooks/web/usePage' import { useGo } from '/@/hooks/web/usePage'
const go = useGo() const go = useGo()
const [registerTable, { reload, setLoading, getSelectRows, getRawDataSource }] = useTable({ const [registerTable, { reload, setLoading, getSelectRows, getForm }] = useTable({
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GeneralInvoiceGetList(p) const res: API.DataResult = await GeneralInvoiceGetList(p)
invoiceAmount.value = res.data.invoiceAmount invoiceAmount.value = res.data.invoiceAmount
@ -125,7 +125,23 @@ const [registerTable, { reload, setLoading, getSelectRows, getRawDataSource }] =
}) })
}, },
beforeFetch: (p) => { beforeFetch: (p) => {
return formatParams(p) const data = formatParams(p)
data.otherQueryCondition = {}
if (getForm().getFieldsValue().number) {
data.otherQueryCondition.number = getForm().getFieldsValue().number
}
let queryData1 = [] as any
if (formatParams(p).queryCondition) {
queryData1 = JSON.parse(formatParams(p).queryCondition)
}
let i = queryData1.length
while (i--) {
if (queryData1[i].FieldName === 'number') {
queryData1.splice(i, 1)
}
}
data.queryCondition = JSON.stringify(queryData1)
return data
}, },
columns, columns,
formConfig: { formConfig: {
@ -229,27 +245,32 @@ function GoDetailed(row) {
.SvgImg { .SvgImg {
width: 12px; width: 12px;
} }
.main{
.main {
flex-direction: column; flex-direction: column;
} }
.calc { .calc {
position: fixed; position: fixed;
display: flex; display: flex;
bottom: 10px; bottom: 10px;
margin-left: 20px; margin-left: 20px;
.title { .title {
font-size: 14px; font-size: 14px;
font-weight: 700; font-weight: 700;
} }
.count { .count {
font-size: 14px; font-size: 14px;
font-weight: 700; font-weight: 700;
color: #257AFA; color: #257AFA;
} }
.box { .box {
background: #F5F9FC; background: #F5F9FC;
margin-left: 10px; margin-left: 10px;
padding: 0 5px; padding: 0 5px;
} }
} }
</style> </style>

@ -843,7 +843,6 @@ const columns = [
const [registerTable, { reload, setProps, getForm, getSelectRows, setColumns, setLoading }] = useTable({ const [registerTable, { reload, setProps, getForm, getSelectRows, setColumns, setLoading }] = useTable({
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GetPageAsync(p) const res: API.DataResult = await GetPageAsync(p)
console.log(res)
return new Promise((resolve) => { return new Promise((resolve) => {
res.data.forEach((item) => { res.data.forEach((item) => {
if (item.recvUserList) { if (item.recvUserList) {

Loading…
Cancel
Save