diff --git a/package.json b/package.json index d107f0bd..c3994975 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "mockjs": "^1.1.0", "moment": "^2.30.1", "nprogress": "^0.2.0", + "number-precision": "^1.6.0", "path-to-regexp": "^6.2.0", "pinia": "2.0.12", "qrcode": "^1.5.4", diff --git a/src/components/ActionBar/index.vue b/src/components/ActionBar/index.vue index eaddd41a..a4702530 100644 --- a/src/components/ActionBar/index.vue +++ b/src/components/ActionBar/index.vue @@ -66,7 +66,11 @@ 保存 - + @@ -74,7 +78,11 @@ 复制 - + @@ -90,7 +98,11 @@ 打印 - + @@ -98,7 +110,11 @@ 提交 - + @@ -121,7 +137,11 @@ 导入 - + @@ -129,7 +149,11 @@ 导出 - + @@ -151,7 +175,13 @@ - + + + diff --git a/src/views/financialTax/expenseAccount/detail/components/SearchTable.vue b/src/views/financialTax/expenseAccount/detail/components/SearchTable.vue new file mode 100644 index 00000000..8ace2851 --- /dev/null +++ b/src/views/financialTax/expenseAccount/detail/components/SearchTable.vue @@ -0,0 +1,229 @@ + + + + + + + + 发票列表 + + + + 添加 + + + + + + + 选中合计: + {{ calcSelectedAmount }} + + + + + + {{ record.invoiceNumber || '' }} + + + + + + + + + + + + + + + + diff --git a/src/views/financialTax/expenseAccount/detail/components/columns.tsx b/src/views/financialTax/expenseAccount/detail/components/columns.tsx new file mode 100644 index 00000000..f09c8108 --- /dev/null +++ b/src/views/financialTax/expenseAccount/detail/components/columns.tsx @@ -0,0 +1,159 @@ +import { BasicColumn, FormSchema } from '/@/components/Table' +import moment from 'moment' +import { numberThousandFormat } from '/@/utils/commonUtil' + +export const invoiceCodeList: LabelValueOptions = [ + { label: '全电发票(铁路电子客票)', value: '51' }, + { label: '全电发票(航空运输电子客票行程单)', value: '61' }, + { label: '全电发票(增值税专用发票)', value: '81' }, + { label: '全电发票(普通发票)', value: '82' }, + { label: '全电纸质发票(增值税专用发票)', value: '85' }, + { label: '全电纸质发票(普通发票)', value: '86' }, + { label: '增值税电子普票发票', value: '026' }, + { label: '增值税电子专用发票', value: '028' }, + { label: '增值税普通发票', value: '007' }, + { label: '增值税专用发票', value: '004' }, + { label: '税控卷票', value: '025' }, +] +export const invoiceStatusList: LabelValueOptions = [ + { label: '蓝票', value: '00' }, + { label: '红票', value: '01' }, +] + +export const columns: BasicColumn[] = [ + { + title: '发票号码', + dataIndex: 'invoiceNumber', + width: 200, + }, + { + title: '发票类型代码', + dataIndex: 'invoiceTypeCode', + width: 200, + customRender({ text }) { + return invoiceCodeList.find((el) => el.value === text)?.label || '' + }, + }, + { + title: '开票日期', + dataIndex: 'invoicingDate', + width: 140, + }, + { + title: '合计金额', + dataIndex: 'totalAmount', + sorter: true, + width: 100, + customRender({ text }) { + return numberThousandFormat(text) + }, + }, + { + title: '合计税额', + dataIndex: 'totalTax', + width: 100, + sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, + }, + { + title: '价税合计', + dataIndex: 'totalWithTax', + width: 100, + sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, + }, + { + title: '发票状态', + dataIndex: 'invoiceStatus', + width: 100, + sorter: true, + customRender: ({ text }) => { + return invoiceStatusList.find((el) => el.value === text)?.label || '未知' + }, + }, + { + title: '开票人', + dataIndex: 'invoicer', + width: 80, + sorter: true, + }, + { + title: '原发票号码', + dataIndex: 'originalInvoiceNumber', + width: 200, + // sorter: true, + }, + { + title: '购方开票名称', + dataIndex: 'buyerInvoiceName', + width: 200, + ellipsis: true, + // sorter: true, + }, + { + title: '购方开票税号', + dataIndex: 'buyerInvoiceTaxNumber', + width: 200, + // sorter: true, + }, + { + title: '销方开票名称', + dataIndex: 'sellerInvoiceName', + width: 130, + // sorter: true, + }, + { + title: '销方开票税号', + dataIndex: 'sellerInvoiceTaxNumber', + width: 200, + ellipsis: true, + // sorter: true, + }, + { + title: '是否已获取详情', + dataIndex: 'isDetailObtained', + width: 120, + align: 'center', + // sorter: true, + }, + { + title: '销方识别号', + dataIndex: 'sellerIdentificationNumber', + width: 200, + // sorter: true, + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + field: 'invoiceNumber', + label: '发票号码', + colProps: { span: 4 }, + component: 'Input', + }, + { + field: 'buyerInvoiceTaxNumber', + label: '购方开票税号', + colProps: { span: 4 }, + component: 'Input', + }, + { + field: 'buyerInvoiceName', + label: '购方开票名称', + colProps: { span: 4 }, + component: 'Input', + }, + { + field: 'invoicingDate', + label: '开票时间', + component: 'RangePicker', + colProps: { span: 4 }, + componentProps: { + allowClear: true, + }, + }, +] diff --git a/src/views/financialTax/expenseAccount/detail/index.vue b/src/views/financialTax/expenseAccount/detail/index.vue new file mode 100644 index 00000000..4fb952ef --- /dev/null +++ b/src/views/financialTax/expenseAccount/detail/index.vue @@ -0,0 +1,569 @@ + + + + + + + + + {{ getStatusInfo('label') }} + + + 驳回原因:{{ expenseAccountDetail.rejectReason }} + + + 报销单编号:{{ expenseAccountDetail.reimbursementId }} + + + + + 报销详情 + + + + + + 发票引入 + + + + 添加发票 + + + + 删除 + + + + + + + + {{ record.invoiceNumber || '' }} + + + + + + + + + + + + + + 合计金额: + {{ calcSumAmountFormat }} + + + + + 审核驳回 + 审核通过 + + + + + + + + + + diff --git a/src/views/financialTax/expenseAccount/index.vue b/src/views/financialTax/expenseAccount/index.vue new file mode 100644 index 00000000..3af41e40 --- /dev/null +++ b/src/views/financialTax/expenseAccount/index.vue @@ -0,0 +1,224 @@ + + + + + + + + 新建 + + + + + + + + 删除 + + + + + + + + + + + + + + + {{ record.invoiceNumber || '' }} + + + + + + {{ getStatusInfo(record, 'label') }} + + + + + + + + + diff --git a/src/views/financialTax/incomeInvoice/columns.tsx b/src/views/financialTax/incomeInvoice/columns.tsx index 01e8242f..421d69fa 100644 --- a/src/views/financialTax/incomeInvoice/columns.tsx +++ b/src/views/financialTax/incomeInvoice/columns.tsx @@ -1,4 +1,5 @@ import { BasicColumn, FormSchema } from '/@/components/Table' +import { numberThousandFormat } from '/@/utils/commonUtil' export const invoiceCodeList: LabelValueOptions = [ { label: '全电发票(铁路电子客票)', value: '51' }, @@ -45,18 +46,27 @@ export const columns: BasicColumn[] = [ dataIndex: 'totalAmount', sorter: true, width: 100, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '合计税额', dataIndex: 'totalTax', width: 100, sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '价税合计', dataIndex: 'totalWithTax', width: 100, sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '发票状态', @@ -141,6 +151,9 @@ export const columns: BasicColumn[] = [ dataIndex: 'deductionAmount', width: 100, sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '机动车发票类型代码', @@ -203,6 +216,9 @@ export const columns: BasicColumn[] = [ dataIndex: 'amount', width: 100, sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '销方名称', @@ -260,6 +276,9 @@ export const columns: BasicColumn[] = [ dataIndex: 'taxAmount', width: 100, sorter: true, + customRender({ text }) { + return numberThousandFormat(text) + }, }, { title: '备注', diff --git a/src/views/financialTax/incomeInvoice/detail/index.vue b/src/views/financialTax/incomeInvoice/detail/index.vue index 2c8e2614..7454cda4 100644 --- a/src/views/financialTax/incomeInvoice/detail/index.vue +++ b/src/views/financialTax/incomeInvoice/detail/index.vue @@ -62,6 +62,7 @@