|
|
|
@ -3,11 +3,11 @@
|
|
|
|
|
<a-spin :spinning="loading">
|
|
|
|
|
<div class="infoclientBox">
|
|
|
|
|
<div style="display: flex; align-items: center">
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5" v-if="route.query.id">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>新建</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span class="ds-action-svg-btn">
|
|
|
|
|
<span @click="handleNew" class="ds-action-svg-btn">
|
|
|
|
|
<img src="../../../../assets/svg/infoclient//xinjian.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
@ -39,7 +39,7 @@
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>撤销审核</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span class="ds-action-svg-btn" @click="Withdraw">
|
|
|
|
|
<span class="ds-action-svg-btn" @click="handleWithdraw">
|
|
|
|
|
<img src="../../../../assets/svg/infoclient/chexiaotijiao.svg" class="SvgImg" />
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
@ -97,7 +97,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="apply" :class="{ active: form.isRMB }">
|
|
|
|
|
<a-checkbox :disabled="true" v-model:checked="form.isRMB">折算人民币申请</a-checkbox>
|
|
|
|
|
<span class="rmb" v-if="totalRmb!=0" >{{ totalRmb }} RMB</span>
|
|
|
|
|
<span class="rmb" v-if="totalRmb != 0">{{ totalRmb }} RMB</span>
|
|
|
|
|
<span></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -159,7 +159,7 @@
|
|
|
|
|
<a-select v-model:value="tempNameId" style="width: 80%">
|
|
|
|
|
<a-select-option :value="item.id" v-for="(item, index) in tempList" :key="index">{{
|
|
|
|
|
item.name
|
|
|
|
|
}}</a-select-option>
|
|
|
|
|
}}</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-modal>
|
|
|
|
|
</a-spin>
|
|
|
|
@ -181,10 +181,12 @@ import {
|
|
|
|
|
GetClientBankList,
|
|
|
|
|
GetOrgList,
|
|
|
|
|
InvoiceApplicationBizSave,
|
|
|
|
|
GetClientInfo
|
|
|
|
|
GetClientInfo,
|
|
|
|
|
ApplyAudit,
|
|
|
|
|
Withdraw
|
|
|
|
|
} from '../api'
|
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'
|
|
|
|
|
import { useRoute } from 'vue-router'
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
|
|
import {
|
|
|
|
|
GetControllerClientList,
|
|
|
|
|
GetCustomerServiceList,
|
|
|
|
@ -196,6 +198,9 @@ import { useUserStore } from '/@/store/modules/user'
|
|
|
|
|
import { set } from 'nprogress'
|
|
|
|
|
import { isNamedTupleMember } from 'typescript'
|
|
|
|
|
import { detailColumns } from '../columns'
|
|
|
|
|
import { get } from 'sortablejs'
|
|
|
|
|
import { useMultipleTabStore } from '/@/store/modules/multipleTab'
|
|
|
|
|
const tabStore = useMultipleTabStore()
|
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
const go = useGo()
|
|
|
|
|
const CategoryData = [
|
|
|
|
@ -673,6 +678,7 @@ const linkageFormBottom = (e) => {
|
|
|
|
|
const feeTableRef = ref(null) as any
|
|
|
|
|
const open = ref(false)
|
|
|
|
|
const nameFlag = ref(false)
|
|
|
|
|
const router = useRouter()
|
|
|
|
|
// 保存 invoiceDetails是手动添加发票的数据 目前不允许手动添加 只能编辑
|
|
|
|
|
async function handleSave() {
|
|
|
|
|
// const values = await validate()
|
|
|
|
@ -688,7 +694,11 @@ async function handleSave() {
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
createMessage.success('保存成功')
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
const { fullPath } = route //获取当前路径
|
|
|
|
|
tabStore.closeTabByKey(fullPath, router)
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
}, 50)
|
|
|
|
|
} else {
|
|
|
|
|
createMessage.error(res.message)
|
|
|
|
|
}
|
|
|
|
@ -745,12 +755,18 @@ function openTemp() {
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleChangeApply(e) {
|
|
|
|
|
form.value.isRMB = !e.target.checked
|
|
|
|
|
function handleApply() {
|
|
|
|
|
ApplyAudit({ ids: [route.query.id] }).then(res => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
createMessage.success('操作成功')
|
|
|
|
|
getDetail()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleChangeApply1(e) {
|
|
|
|
|
form.value.isYB = !e.target.checked
|
|
|
|
|
function handleNew() {
|
|
|
|
|
go(`/invoiceapplyDetail?type=add`)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function init() {
|
|
|
|
|
if (id.value) {
|
|
|
|
|
getDetail()
|
|
|
|
@ -780,11 +796,20 @@ function init() {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleWithdraw() {
|
|
|
|
|
Withdraw({ ids: [route.query.id] }).then(res => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
createMessage.success('操作成功')
|
|
|
|
|
getDetail()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleAddLabel(val) {
|
|
|
|
|
tempContent.value += '[' + val.displayName + ']'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const details = ref([])
|
|
|
|
|
// 获取详情 处理总量
|
|
|
|
|
function getDetail() {
|
|
|
|
|
InvoiceApplicationGet({ id: id.value }).then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
@ -797,14 +822,19 @@ function getDetail() {
|
|
|
|
|
form.value.statusText = res.data.statusText
|
|
|
|
|
form.value.applicationNO = res.data.applicationNO
|
|
|
|
|
details.value = res.data.details
|
|
|
|
|
feeTableRef.value.init(res.data)
|
|
|
|
|
feeTableRef.value.changeCust(res.data.customerId)
|
|
|
|
|
amountArr.value = []
|
|
|
|
|
if (res.data.currency == 'RMB') {
|
|
|
|
|
form.value.isRMB = true
|
|
|
|
|
res.data.isRMB = true
|
|
|
|
|
res.data.isYB = false
|
|
|
|
|
res.data.summaryItems.forEach(item => {
|
|
|
|
|
totalRmb.value += Number(item.amount)
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
form.value.isYB = true
|
|
|
|
|
res.data.isRMB = false
|
|
|
|
|
res.data.isYB = true
|
|
|
|
|
res.data.summaryItems.forEach(item => {
|
|
|
|
|
amountArr.value.push({
|
|
|
|
|
currency: item.currency,
|
|
|
|
@ -812,6 +842,7 @@ function getDetail() {
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
feeTableRef.value.init(res.data)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
@ -933,7 +964,11 @@ function updateListSave(arr, type) {
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
createMessage.success('保存成功')
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
const { fullPath } = route //获取当前路径
|
|
|
|
|
tabStore.closeTabByKey(fullPath, router)
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
}, 50)
|
|
|
|
|
} else {
|
|
|
|
|
createMessage.error(res.message)
|
|
|
|
|
}
|
|
|
|
@ -947,7 +982,7 @@ function updateListSave(arr, type) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// 左侧的添加过来 整个业务
|
|
|
|
|
function addLeftSave(arr,query) {
|
|
|
|
|
function addLeftSave(arr, query, exchang, type) {
|
|
|
|
|
loading.value = true
|
|
|
|
|
changeCust(arr[0].customerId, arr[0].customerName).then(res => {
|
|
|
|
|
const itemList = [] as any
|
|
|
|
@ -965,14 +1000,25 @@ function addLeftSave(arr,query) {
|
|
|
|
|
...form.value,
|
|
|
|
|
invoiceDetails: feeTableRef.value.list,
|
|
|
|
|
},
|
|
|
|
|
exchanges: exchang,
|
|
|
|
|
items: itemList,
|
|
|
|
|
queryString: JSON.stringify(query)
|
|
|
|
|
queryString: Object.keys(query).length != 0 ? JSON.stringify(query) : ''
|
|
|
|
|
}
|
|
|
|
|
if (type == 'isRMB') {
|
|
|
|
|
data.application.currency = 'RMB'
|
|
|
|
|
}
|
|
|
|
|
if (type == 'isYB') {
|
|
|
|
|
data.application.currency = ''
|
|
|
|
|
}
|
|
|
|
|
InvoiceApplicationBizSave(data)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
createMessage.success('保存成功')
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
const { fullPath } = route //获取当前路径
|
|
|
|
|
tabStore.closeTabByKey(fullPath, router)
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
go(`/invoiceapplyDetail?id=${res.data.id}`)
|
|
|
|
|
}, 50)
|
|
|
|
|
} else {
|
|
|
|
|
createMessage.error(res.message)
|
|
|
|
|
}
|
|
|
|
@ -995,7 +1041,14 @@ function handleRender() {
|
|
|
|
|
id: id.value,
|
|
|
|
|
template: temp,
|
|
|
|
|
}
|
|
|
|
|
RenderTemplate(data).then((res) => { })
|
|
|
|
|
RenderTemplate(data).then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
|
marksetFieldsValue({
|
|
|
|
|
note: res.data
|
|
|
|
|
})
|
|
|
|
|
nameFlag.value = false
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const tempName = ref('')
|
|
|
|
|
const tempId = ref('')
|
|
|
|
|