|
|
|
@ -1,35 +1,97 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="main">
|
|
|
|
|
<div class="top">
|
|
|
|
|
<BasicTable height="600px" @row-click="handleClick" class="examine-table" @register="registerTable">
|
|
|
|
|
<template #tableTitle>
|
|
|
|
|
<a-popconfirm title="确定审核通过吗?" @confirm="applySuccess" ok-text="是" cancel-text="否">
|
|
|
|
|
<span class="ds-action-svg-btn">
|
|
|
|
|
<a-button type="link"><i class="icon-yiwancheng2-copy iconfont"></i>审核通过</a-button>
|
|
|
|
|
<div class="p20">
|
|
|
|
|
<BasicTable @row-click="handleClick" class="ds-table" @register="registerTable">
|
|
|
|
|
<template #tableTitle>
|
|
|
|
|
<TableButton :show="{}">
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>提交审核</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span :class="`${prefixCls}-svg-btn`">
|
|
|
|
|
<a-popconfirm title="确定提交审核吗?" @confirm="applySuccess" ok-text="是" cancel-text="否">
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
width="16.01025390625" height="15.98126220703125"
|
|
|
|
|
viewBox="0 0 16.01025390625 15.98126220703125" fill="none">
|
|
|
|
|
<path
|
|
|
|
|
d="M7.07846 12.1812L4.17846 10.6812C3.27846 10.2812 2.77846 10.5813 3.17846 11.6812C3.17846 11.6812 4.87846 15.7813 4.87846 15.9812L7.47846 14.2813C7.77846 13.9812 7.97846 13.4812 7.87846 13.0813C7.77846 12.6812 7.47846 12.3812 7.07846 12.1812Z"
|
|
|
|
|
fill="#5097FF">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M14.5788 0.18125L0.478775 7.28125C-0.121225 7.58125 -0.121225 8.08125 0.278775 8.38125C0.378775 8.48125 0.478775 8.48125 0.578775 8.48125L3.37878 9.58125C4.17878 9.88125 4.87878 9.68125 5.57878 9.08125L11.8788 4.08125C12.0788 3.88125 12.1788 4.08125 12.0788 4.28125L6.47878 9.68125C6.27878 9.88125 6.17878 10.2812 6.17878 10.5813C6.27878 10.8812 6.47878 11.0813 6.77878 11.2812L7.07878 11.3812L12.1788 13.7812L12.2788 13.7812C12.8788 14.0813 13.5788 13.7812 13.7788 13.1812C13.7788 13.0813 13.7788 13.0813 13.8788 12.9812L13.8788 12.8812L15.9788 1.18125C16.1788 0.28125 15.3788 -0.31875 14.5788 0.18125Z"
|
|
|
|
|
fill="#1B65DD">
|
|
|
|
|
</path>
|
|
|
|
|
</svg>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
</span>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
<!-- <a-button type="link"><i class="icon-piliangshenhe iconfont"></i>全部审核通过</a-button> -->
|
|
|
|
|
<a-button @click="refuse" type="link"><i class="icon-bohui-01 iconfont"></i>驳回提交</a-button>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
<template v-if="column.dataIndex == 'statusText'">
|
|
|
|
|
<span v-if="record.status == 0" class="ds-blue-tag">
|
|
|
|
|
{{ record.statusText }}</span>
|
|
|
|
|
<span v-else-if="record.status == 1" class="ds-green-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^2|3$/.test(record.status)" class="ds-orange-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^4|5$/.test(record.status)" class="ds-red-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else class="ds-purple-tag">{{ record.statusText }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<a-tooltip placement="top" :mouseEnterDelay="0.5">
|
|
|
|
|
<template #title>
|
|
|
|
|
<span>撤销审核</span>
|
|
|
|
|
</template>
|
|
|
|
|
<span :class="`${prefixCls}-svg-btn`">
|
|
|
|
|
<a-popconfirm title="确定撤销审核吗?" @confirm="refuse" ok-text="是" cancel-text="否">
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
|
|
|
<path
|
|
|
|
|
d="M7.27895 13.7813L7.77895 13.7813C7.87895 13.5813 7.87895 13.2813 7.87895 13.0813C7.77895 12.7813 7.47895 12.3812 7.07895 12.1812L4.17895 10.6812C3.27895 10.2812 2.77895 10.5813 3.17895 11.6812C3.17895 11.6812 4.87895 15.7813 4.87895 15.9812L6.47895 14.8812L6.47895 14.5813C6.47895 14.1812 6.87895 13.7813 7.27895 13.7813Z"
|
|
|
|
|
fill="#7C868E">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M6.47878 10.2812C6.47878 10.0813 6.57878 9.88125 6.67878 9.68125L6.77878 9.58125C6.87878 9.58125 6.97878 9.48125 7.07878 9.38125L8.67877 7.78125C8.77878 7.58125 8.97878 7.58125 9.17877 7.58125C9.37877 7.58125 9.57878 7.68125 9.77878 7.78125L10.0788 8.08125C10.3788 8.38125 10.3788 8.78125 10.1788 9.18125L12.7788 9.18125C13.3788 9.18125 13.9788 9.38125 14.3788 9.68125L15.8788 1.18125C16.1788 0.28125 15.3788 -0.31875 14.4788 0.18125L0.478775 7.28125C-0.121225 7.58125 -0.121225 8.08125 0.278775 8.38125C0.378775 8.48125 0.478775 8.48125 0.578775 8.48125L3.37878 9.58125C4.17878 9.88125 4.87878 9.68125 5.57878 9.08125L11.8788 4.08125C12.0788 3.88125 12.1788 4.08125 12.0788 4.28125L6.47878 9.68125C6.27878 9.88125 6.17878 10.2812 6.17878 10.5813C6.27878 10.8812 6.47878 11.0813 6.77878 11.2812L7.07878 11.3812L7.17878 11.3812L6.77878 10.9812C6.57878 10.7812 6.47878 10.5813 6.47878 10.2812Z"
|
|
|
|
|
fill="#B2BAC1">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M8.979 12.4813C9.079 12.5813 9.079 12.5813 9.179 12.5813C9.279 12.5813 9.379 12.5813 9.379 12.4813L9.479 12.3813L8.479 11.8813L8.979 12.4813L8.979 12.4813Z"
|
|
|
|
|
fill="#C73035">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M14.379 12.5813C14.379 13.5813 13.679 14.2813 12.779 14.2813L7.379 14.2813L6.979 14.5813L6.979 14.5813L6.979 15.0813L6.979 15.0813C6.979 15.2813 7.079 15.3813 7.279 15.3813L12.679 15.3813L12.679 15.3813C14.179 15.3813 15.379 14.0813 15.379 12.4813C15.379 11.4813 14.879 10.5813 14.179 10.0813L13.979 11.4813C14.179 11.8813 14.379 12.1813 14.379 12.5813Z"
|
|
|
|
|
fill="#C73035">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M7.279 14.2812C7.079 14.2812 6.979 14.3812 6.979 14.5813L7.379 14.2812L7.279 14.2812Z"
|
|
|
|
|
fill="#C73035">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M9.779 12.1813C9.879 12.0813 9.879 11.8813 9.779 11.7813L8.979 10.8813L12.779 10.8813C13.279 10.8813 13.779 11.1813 14.079 11.5813L14.279 10.1813C13.879 9.88127 13.279 9.68127 12.779 9.68127L8.979 9.68127L9.679 8.88127C9.779 8.78127 9.779 8.58127 9.679 8.48127L9.379 8.18127L9.379 8.18127C9.379 8.08127 9.279 8.08127 9.179 8.08127C9.079 8.08127 8.979 8.08127 8.979 8.18127L7.379 9.78127C7.279 9.78127 7.279 9.88127 7.179 9.98127L7.079 10.0813C6.979 10.1813 6.979 10.1813 6.979 10.2813C6.979 10.3813 6.979 10.4813 7.079 10.4813L8.479 11.9813L9.479 12.4813L9.779 12.1813Z"
|
|
|
|
|
fill="#C73035">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M13.6791 13.0813C13.6791 13.0813 13.7791 13.0813 13.6791 13.0813C13.6791 13.0813 13.5791 13.1813 13.5791 13.2813C13.5791 13.2813 13.6791 13.1813 13.6791 13.0813Z"
|
|
|
|
|
fill="#000000">
|
|
|
|
|
</path>
|
|
|
|
|
<path
|
|
|
|
|
d="M12.779 11.3813L10.179 11.3813C10.479 11.6813 10.479 12.1813 10.179 12.4813L9.979 12.6813L12.179 13.6813L12.279 13.6813C12.379 13.6813 12.479 13.6813 12.479 13.6813C12.779 13.7813 12.979 13.6813 13.179 13.5813L13.179 13.5813C13.279 13.4813 13.379 13.4813 13.479 13.3813C13.479 13.3813 13.479 13.2813 13.579 13.2813C13.679 13.1813 13.679 13.0813 13.779 12.9813C13.779 12.9813 13.779 12.9813 13.779 12.8813C13.779 12.7813 13.879 12.5813 13.879 12.4813C13.879 11.8813 13.379 11.3813 12.779 11.3813Z"
|
|
|
|
|
fill="#B2BAC1">
|
|
|
|
|
</path>
|
|
|
|
|
<path d="" fill="#000000">
|
|
|
|
|
</path>
|
|
|
|
|
</svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
</TableButton>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
<template v-if="column.dataIndex == 'statusText'">
|
|
|
|
|
<span v-if="record.status == 0" class="ds-blue-tag">
|
|
|
|
|
{{ record.statusText }}</span>
|
|
|
|
|
<span v-else-if="record.status == 1" class="ds-green-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^2|3$/.test(record.status)" class="ds-orange-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^4|5$/.test(record.status)" class="ds-red-tag">{{
|
|
|
|
|
record.statusText
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else class="ds-purple-tag">{{ record.statusText }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</BasicTable>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="padding-left: 20px;">
|
|
|
|
|
</template>
|
|
|
|
|
</BasicTable>
|
|
|
|
|
<div class="box">
|
|
|
|
|
<a-spin :spinning="loading">
|
|
|
|
|
<a-tabs @change="tabChange" v-model:activeKey="activeKey">
|
|
|
|
|
<a-tab-pane :key="0" tab="发票明细"></a-tab-pane>
|
|
|
|
@ -38,8 +100,7 @@
|
|
|
|
|
</a-tabs>
|
|
|
|
|
<div style="display: flex;" v-if="activeKey == 0">
|
|
|
|
|
<div class="left">
|
|
|
|
|
|
|
|
|
|
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable2">
|
|
|
|
|
<BasicTable class="ds-table" @register="registerTable2">
|
|
|
|
|
|
|
|
|
|
</BasicTable>
|
|
|
|
|
</div>
|
|
|
|
@ -138,21 +199,22 @@
|
|
|
|
|
</template>
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
import { GetList, InvoiceApplicationGet, Audit,GetOpFileList } from './api.js'
|
|
|
|
|
import { GetList, InvoiceApplicationGet, Audit, GetOpFileList } from './api.js'
|
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
|
import { formatParams } from '/@/hooks/web/common'
|
|
|
|
|
import { columns, searchFormSchema, detailColumns, feeColumns, feeColumnsSum } from './columns'
|
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'
|
|
|
|
|
import { useDesign } from '/@/hooks/web/useDesign'
|
|
|
|
|
const { prefixCls } = useDesign('ds-table-button')
|
|
|
|
|
const { createMessage } = useMessage()
|
|
|
|
|
const [registerTable, { reload, getPaginationRef, getSelectRows, getRawDataSource }] = useTable({
|
|
|
|
|
maxHeight: 300,
|
|
|
|
|
const [registerTable, { reload, getPaginationRef, getVxeSelectRows, getRawDataSource }] = useTable({
|
|
|
|
|
maxHeight: 225,
|
|
|
|
|
api: async (p) => {
|
|
|
|
|
const res: API.DataResult = await GetList(p)
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
resolve({ data: [...res.data], total: res.count })
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 请求前的参数格式化
|
|
|
|
|
beforeFetch: (p) => {
|
|
|
|
|
let data = formatParams(p)
|
|
|
|
|
data.OtherQueryCondition = p.status
|
|
|
|
@ -176,6 +238,10 @@ const [registerTable, { reload, getPaginationRef, getSelectRows, getRawDataSourc
|
|
|
|
|
},
|
|
|
|
|
canResize: true,
|
|
|
|
|
immediate: true,
|
|
|
|
|
resizeHeightOffset: 50,
|
|
|
|
|
tableComponent: 'vxe',
|
|
|
|
|
id: '0',
|
|
|
|
|
autoHeight: window.innerHeight - 330.5
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const [registerTable2, { getSelectRows: getSelectRows2, clearSelectedRowKeys: clearSelectedRowKeys2, setTableData }] = useTable({
|
|
|
|
@ -313,12 +379,12 @@ const getfileList = (id) => {
|
|
|
|
|
fileData.value = []
|
|
|
|
|
}
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function applySuccess() {
|
|
|
|
|
let ids = []
|
|
|
|
|
ids = getSelectRows().map((item) => {
|
|
|
|
|
ids = getVxeSelectRows().map((item) => {
|
|
|
|
|
return item.id
|
|
|
|
|
})
|
|
|
|
|
const data = {
|
|
|
|
@ -341,7 +407,7 @@ function applySuccess() {
|
|
|
|
|
const refuseFlag = ref(false)
|
|
|
|
|
function refuse() {
|
|
|
|
|
let ids = []
|
|
|
|
|
ids = getSelectRows().map((item) => {
|
|
|
|
|
ids = getVxeSelectRows().map((item) => {
|
|
|
|
|
return item.id
|
|
|
|
|
})
|
|
|
|
|
if (ids.length == 0) {
|
|
|
|
@ -352,7 +418,7 @@ function refuse() {
|
|
|
|
|
}
|
|
|
|
|
function sureRefuse() {
|
|
|
|
|
let ids = []
|
|
|
|
|
ids = getSelectRows().map((item) => {
|
|
|
|
|
ids = getVxeSelectRows().map((item) => {
|
|
|
|
|
return item.id
|
|
|
|
|
})
|
|
|
|
|
const data = {
|
|
|
|
@ -461,5 +527,13 @@ function sureRefuse() {
|
|
|
|
|
:deep(.vben-basic-table .ant-table-footer td) {
|
|
|
|
|
padding: 0px 10px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.box {
|
|
|
|
|
background-color: white;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
border: 1px solid rgba(204, 214, 223, 1);
|
|
|
|
|
padding: 14px 20px;
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<style lang="less"></style>
|
|
|
|
|