feature-JimuReport-1106-yjl
sunzehua 4 weeks ago
commit bcf596338c

@ -246,6 +246,12 @@
deepCopyRow.id = ''
deepCopyRow.feeStatus = 1
deepCopyRow.feeStatusText = '录入状态'
deepCopyRow.settlementAmount = null
deepCopyRow.orderInvoiceAmount = null
deepCopyRow.invoiceAmountRest = null
deepCopyRow.invoiceAmount = null
deepCopyRow.auditOperator = null
deepCopyRow.auditDate = null
props.data.push(deepCopyRow)
})
}
@ -434,8 +440,9 @@
}
//
const withdrawAll = () => {
WithdrawBusiness({ id: props.id, businessType: 1 }).then(res => {
WithdrawBusiness({ businessId: props.id, businessType: 1, taskTypeName: 'BILL_RECV_AUDIT' }).then(res => {
createMessage.success(res.message)
emits('refresh')
})
}
//

@ -19,7 +19,7 @@ enum Api {
GetPrintInfo = '/feeApi/FeeRecord/GetPrintInfo',
GetFees = '/feeApi/PaymentApplication/GetFees',
ApplyBusinessAudit = '/feeApi/FeeRecord/ApplyBusinessAudit',
WithdrawBusiness = '/feeApi/FeeRecordWithdrawBusiness',
WithdrawBusiness = '/feeApi/FeeRecord/WithdrawBusiness',
SubmitWithAudit = '/feeApi/FeeRecord/SubmitWithAudit'
}
// 列表 (Auth)

@ -97,11 +97,13 @@
}
// (Auth)
const getFees = async (id, businessType, customerId) => {
const postData = [{
const postData = {
items: [{
id,
businessType,
customerId
}]
}
loading.value = true
await GetFees(postData).then(res => {
const { data } = res

@ -1212,7 +1212,8 @@
allSave,
getUnitList,
initData,
validate
validate,
init
})
</script>

@ -48,6 +48,8 @@
import FeeTable from './feeTable.vue'
//
import FeeStatistic from './feeStatistic.vue'
import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage()
import { ApplyBusinessAudit } from './api'
const props = defineProps({
details: { type: [Object, Array] },
@ -85,8 +87,10 @@
rtb.value.allSave(true)
ptb.value.allSave(true)
setTimeout(() => {
ApplyBusinessAudit({ id: props.details.id, businessType: 1 }).then(res => {
console.log(res)
ApplyBusinessAudit({ businessId: props.details.id, businessType: 1, taskTypeName: 'BILL_RECV_AUDIT' }).then(res => {
createMessage.success(res.message)
rtb.value.init()
ptb.value.init()
}, 1000)
})
}

@ -7,7 +7,8 @@
<a-spin :spinning="loading">
<div class="ds-approve-fee-table-sf">
<div class="fee-check-opt">
<h4>应收应付费用</h4>
<h4>{{ status == 'BILL_RECV_AUDIT' ? '应收费用确认' : '应收应付费用' }}</h4>
<span v-if="!status">
<a-dropdown>
<template #overlay>
<a-menu>
@ -54,6 +55,7 @@
<span class="iconfont icon-renwu_" :style="{fontSize: '13px'}"></span>
本票审核
</a-button>
</span>
<!-- <FeeActionBar
></FeeActionBar> -->
</div>
@ -134,7 +136,7 @@
</a-spin>
</template>
<script lang="ts" setup>
import { onMounted, ref, reactive, defineProps, watch, defineExpose, defineEmits } from 'vue'
import { ref, defineExpose } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { useMessage } from '/@/hooks/web/useMessage'
import { GetFees, Audit, SetInvoiceEnabled, AuditByBiz } from '../api'
@ -145,6 +147,11 @@
import FeeRejectModal from './feeRejectModal.vue'
import { formatTableData } from '/@/hooks/web/common'
import emitter from '/@/utils/Bus'
import { useRoute } from 'vue-router'
const route = useRoute()
//
const status = route.query.status
console.log(route)
const { createMessage } = useMessage()
//
const check = ref(true)
@ -169,31 +176,31 @@
{
title: v == 1 ? '应收' : '应付',
align: 'center',
width: 200,
width: 400,
children: [
{
dataIndex: 'RMB',
title: 'RMB',
align: 'left',
minWidth: 80
minWidth: 70
},
{
dataIndex: 'USD',
title: 'USD',
align: 'left',
minWidth: 80
minWidth: 70
},
{
dataIndex: 'other',
title: '其他币别',
align: 'left',
minWidth: 80
minWidth: 70
},
{
dataIndex: 'customerFullName',
title: '客户名称',
align: 'left',
minWidth: 80
minWidth: 150
},
{
dataIndex: 'feeStatusText',
@ -205,19 +212,19 @@
dataIndex: 'unitPrice',
title: '单价',
align: 'left',
width: 100
width: 70
},
{
dataIndex: 'quantity',
title: '数量',
align: 'left',
width: 50
width: 40
},
{
dataIndex: 'exchangeRate',
title: '汇率',
align: 'left',
width: 50
width: 40
}
]
}

@ -62,7 +62,7 @@
</template>
</BasicTable>
<!-- 费用组件 -->
<FeeTable ref="mainFeeTable"></FeeTable>
<FeeTable ref="mainFeeTable" :status="status"></FeeTable>
<!-- 费用统计 -->
<div class="fee-statistic">
<span class="item">RMB利润<span class="item-val" :class="{ warnText: statisticData.profitCNY < 0 }">{{ statisticData.profitCNY }}</span></span>
@ -71,6 +71,14 @@
<span class="item">合计利润<span class="item-val" :class="{ warnText: statisticData.payableTotal < 0 }">{{ statisticData.payableTotal }}</span></span>
<span class="item">利润率<span class="item-val">{{ statisticData.profitMargin }}</span></span>
</div>
<ApproveBtns
agreeText="费用确认"
rejectText="驳回"
:approve="approveDc"
:id="route.query.id"
businessType="1"
>
</ApproveBtns>
<!-- <Statistic v-show="busId.length" :id="busId"></Statistic> -->
<!-- 完整费用弹窗 -->
<a-modal
@ -96,10 +104,14 @@
import FeeTable from './components/feeTable.vue'
// import Statistic from './components/Statistic.vue'
import MainActionBar from './components/mainActionBar.vue'
//
import ApproveBtns from '/@/components/ApproveBtns/index.vue'
import { formatTableData } from '/@/hooks/web/common'
import { useRoute } from 'vue-router'
const route = useRoute()
const { createMessage } = useMessage()
//
const status = route.query.status
//
const visible = ref(false)
// loading
@ -202,11 +214,16 @@
}
const mainApprove = () => {
}
//
const approveDc = () => {
}
onMounted(() => {
// id
if (route.query.id) {
mainFeeTable.value.init({ id: route.query.id, businessType: 1 })
getStatistic({ id: route.query.id, businessType: 1 })
} else {
reload()
}

@ -627,10 +627,9 @@ export const currencyFormSchema: FormSchema[] = [
{
field: 'currency',
label: '结算币别:',
defaultValue: null,
defaultValue: 'RMB',
component: 'ApiSelect',
colProps: { span: 5 },
placeholder: '原币结算',
componentProps: () => {
return {
allowClear: true,

@ -253,7 +253,8 @@
const addInfos = async (type) => {
const selectRows = getSelectRows()
//
const currency = getFieldsValue().currency
const currency = props.formData.currency
console.log(currency)
if (selectRows.length == 0) {
return createMessage.warning('没有选择要添加的业务!')
}
@ -264,6 +265,8 @@
documents: getSelectRows()
}
if (!currency) {
console.log(postData)
return
loading.value = true
Save(postData).then(async (res) => {
loading.value = false
@ -277,6 +280,7 @@
loading.value = false
})
} else {
return
//
props.setFieldsValue({
currency
@ -290,6 +294,7 @@
customerId: item.customerId
}
})
console.log(postCurrency)
const items = await GetExchanges(postCurrency).then(res => {
return res.data
})

@ -22,11 +22,11 @@
class="action-divider"
/>
<div style="padding-top: 8px;">
<a-button type="link" @click="kfz">
<a-button type="link" @click="create('free')">
<span class="iconfont icon-lirun"></span>
新建自由结算
</a-button>
<a-button type="link" @click="create">
<a-button type="link" @click="create('apply')">
<span class="iconfont icon-shenpi-pizhun"></span>
新建申请结算
</a-button>
@ -132,8 +132,8 @@
go(`/payment-settlement/detail?id=${row.id}`)
}
//
const create = () => {
go(`/payment-settlement/create`)
const create = (v) => {
go(`/payment-settlement/create?type=${v}`)
}
onMounted(() => {
//

@ -17,10 +17,10 @@
>
<template #toolbar>
<div class="flex" style="width: 100%;">
<h4 style="width: 80px;">结算明细</h4>
<h4 style="width: 80px;">申请明细</h4>
<a-button class="ml15" type="link" @click="addInfos">
<span class="iconfont icon-zengjiatianjiajiajian" :style="{ fontSize: '12px' }"></span>
添加结算明细
添加申请明细
</a-button>
<BasicForm
class="currency-form"
@ -214,6 +214,12 @@
const save = () => {
//
feeTableData.value = feeTabel.value.selectfeeData
// id
if (feeTableData.value && feeTableData.value.length) {
feeTableData.value.forEach(item => {
item.id = 0
})
}
if (feeTableData.value.length == 0) {
return createMessage.warning('请选择要申请的费用明细!')
}

@ -52,7 +52,7 @@
<a-modal
class="fee-modal"
v-model:visible="visible"
title="添加支付结算明细"
title="添加付费申请信息"
width="90%"
@ok="handleOk"
>

@ -1180,12 +1180,14 @@
break
case 'FEE_AUDIT':
case 'BILL_RECV_AUDIT':
//
go({
path: '/approve-fee',
query: {
id: data.ouT_BS_NO,
btype: 1,
status: data.tasK_TYPE
},
})
break

Loading…
Cancel
Save