|
@@ -30,6 +30,11 @@
|
|
|
<span class="formSpan">项目名称:</span>
|
|
|
<el-input v-model="queryParams.xmmc" style="width: 160px" />
|
|
|
</div>
|
|
|
+ <div class="form">
|
|
|
+ <span class="formSpan">付款单位:</span>
|
|
|
+ <el-input v-model="queryParams.payCompany" style="width: 160px" />
|
|
|
+ </div>
|
|
|
+
|
|
|
<div class="form">
|
|
|
<span class="formSpan">开票状态:</span>
|
|
|
<el-select
|
|
@@ -84,7 +89,7 @@
|
|
|
<img src="@/assets/imgs/OA/search.png" class="mr-8px" alt="" />
|
|
|
查询</el-button
|
|
|
>
|
|
|
- <el-button type="primary">
|
|
|
+ <el-button type="primary" @click="getExportContractInvoiceListExcel">
|
|
|
<img src="@/assets/imgs/OA/open.png" class="mr-8px" alt="" />
|
|
|
导出</el-button
|
|
|
>
|
|
@@ -95,23 +100,44 @@
|
|
|
<ul>
|
|
|
<li v-for="(item, index) in infoList" :key="index" class="mr-40px">
|
|
|
<p>{{ item.name }}:</p>
|
|
|
- <h4 class="font-size-18px">{{ item.num }}</h4>
|
|
|
+ <h4 class="font-size-18px">
|
|
|
+ {{ item.num.toString().indexOf('.') === -1 ? item.num : item.num.toFixed(2) }}
|
|
|
+ 万元
|
|
|
+ </h4>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="tableBox">
|
|
|
- <TableLayout :is-loading="loading" :data="list">
|
|
|
- <el-table-column type="index" />
|
|
|
+ <TableLayout
|
|
|
+ :is-loading="loading"
|
|
|
+ :data="list"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ row-key="id"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
+ <el-table-column label="序号" type="index" width="65" />
|
|
|
+ <el-table-column align="center" prop="invoiceNumber" label="发票号码" width="150" />
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ label="项目名称及编号"
|
|
|
+ width="460"
|
|
|
+ >
|
|
|
+ <template #default="scope"> {{ scope.row.xmmc }}({{ scope.row.xmbh }}) </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="contractNumber" label="合同编号" width="180" />
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="invoiceDate"
|
|
|
:formatter="dateFormatter2"
|
|
|
+ width="120"
|
|
|
label="开票日期"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
:show-overflow-tooltip="true"
|
|
|
prop="name"
|
|
|
+ width="350"
|
|
|
label="合同名称"
|
|
|
/>
|
|
|
<el-table-column
|
|
@@ -119,24 +145,28 @@
|
|
|
align="center"
|
|
|
prop="xsry"
|
|
|
label="销售经理"
|
|
|
+ width="120"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
:show-overflow-tooltip="true"
|
|
|
align="center"
|
|
|
prop="zrbm"
|
|
|
label="责任部门"
|
|
|
+ width="160"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
:show-overflow-tooltip="true"
|
|
|
align="center"
|
|
|
prop="payCompany"
|
|
|
label="付款单位"
|
|
|
+ width="220"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
:show-overflow-tooltip="true"
|
|
|
prop="invoiceAmount"
|
|
|
label="开票金额(元)"
|
|
|
+ width="120"
|
|
|
/>
|
|
|
<el-table-column align="center" :show-overflow-tooltip="true" label="未回款金额(元)">
|
|
|
<template #default="scope">
|
|
@@ -190,6 +220,7 @@ import { formatDate, dateFormatter2 } from '@/utils/formatTime'
|
|
|
import TableLayout from '../../oaViews/layout/TableLayout.vue'
|
|
|
import UserOrgTree from '@/views/OaSystem/components/UserOrgTree/index.vue'
|
|
|
import DeptTree from '@/views/OaSystem/components/DeptTree/index.vue'
|
|
|
+import download from '@/utils/download'
|
|
|
|
|
|
defineOptions({ name: 'CommonCost' })
|
|
|
|
|
@@ -200,6 +231,7 @@ const queryParams = reactive({
|
|
|
pageSize: 10,
|
|
|
invoiceNumber: '',
|
|
|
contractName: '',
|
|
|
+ payCompany: '',
|
|
|
deptId: '',
|
|
|
managerId: '',
|
|
|
xmmc: '',
|
|
@@ -212,22 +244,37 @@ const queryParams = reactive({
|
|
|
})
|
|
|
const infoList: any = ref([
|
|
|
{
|
|
|
- name: '已开票总金额(万元)',
|
|
|
+ name: '已开票总金额',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
- name: '已回款总金额(万元)',
|
|
|
+ name: '已回款总金额',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
- name: '未回款总金额(万元)',
|
|
|
+ name: '未回款总金额',
|
|
|
num: 0
|
|
|
}
|
|
|
])
|
|
|
+
|
|
|
+const idList = ref<string[]>([])
|
|
|
+const handleSelectionChange = (arrs) => {
|
|
|
+ idList.value = arrs.map((item) => item.id)
|
|
|
+}
|
|
|
+/** 列表导出 */
|
|
|
+const getExportContractInvoiceListExcel = async () => {
|
|
|
+ if (idList.value.length === 0) {
|
|
|
+ ElMessage.warning('请至少选择一条数据!')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const data = await kpglApi.exportContractInvoiceListExcel({
|
|
|
+ idList: idList.value
|
|
|
+ })
|
|
|
+ download.excel(data, '开票台账导出记录.xls')
|
|
|
+}
|
|
|
const loading = ref(true) // 列表的加载中
|
|
|
const total = ref(0) // 列表的总页数
|
|
|
const list = ref([]) // 列表的数
|
|
|
-
|
|
|
/** 查询列表 */
|
|
|
const getList = async () => {
|
|
|
loading.value = true
|
|
@@ -261,7 +308,7 @@ const getStatics = async () => {
|
|
|
const data = await kpglApi.getStatics(queryParams)
|
|
|
infoList.value[0].num = data.ykp
|
|
|
infoList.value[1].num = data.yhk
|
|
|
- infoList.value[2].num = (data.ykp - data.yhk).toFixed(6)
|
|
|
+ infoList.value[2].num = data.ykp - data.yhk
|
|
|
}
|
|
|
const handleCurrentChange = (pageNo: number) => {
|
|
|
queryParams.pageNo = pageNo
|