diff --git a/menu_init.sql b/menu_init.sql
index e30374f..f7582f1 100644
--- a/menu_init.sql
+++ b/menu_init.sql
@@ -17,10 +17,10 @@ INSERT INTO menu (id, name, menu_type, icon, path, "order", parent_id, is_hidden
VALUES
(16, '交易管理', 'catalog', 'carbon:receipt', '/transaction', 3, 0, 0, 'Layout', 0, '/transaction/invoice', datetime('now'), datetime('now'));
--- 插入二级菜单:开票记录
+-- 插入二级菜单:交易管理
INSERT INTO menu (id, name, menu_type, icon, path, "order", parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at)
VALUES
- (17, '开票记录', 'menu', 'carbon:document', 'invoice', 1, 16, 0, '/transaction/invoice', 0, NULL, datetime('now'), datetime('now'));
+ (17, '交易管理', 'menu', 'carbon:document', 'invoice', 1, 16, 0, '/transaction/invoice', 0, NULL, datetime('now'), datetime('now'));
-- ========================================
-- 3. 估值管理菜单
@@ -57,7 +57,7 @@ INSERT INTO role_menu (role_id, menu_id)
VALUES
(1, 22), -- 工作台
(1, 16), -- 交易管理
- (1, 17), -- 开票记录
+ (1, 17), -- 交易管理
(1, 18), -- 估值管理
(1, 19), -- 审核列表
(1, 20), -- 用户管理
@@ -68,7 +68,7 @@ INSERT INTO role_menu (role_id, menu_id)
VALUES
(2, 22), -- 工作台
(2, 16), -- 交易管理
- (2, 17), -- 开票记录
+ (2, 17), -- 交易管理
(2, 18), -- 估值管理
(2, 19); -- 审核列表
-- 注意:普通用户不分配用户管理权限
\ No newline at end of file
diff --git a/web/src/api/index.js b/web/src/api/index.js
index c4cfb6c..c034d08 100644
--- a/web/src/api/index.js
+++ b/web/src/api/index.js
@@ -323,229 +323,10 @@ export default {
createAppUser: (data = {}) => request.post('/app-user/register', data),
updateAppUser: (data = {}) => request.post('/app-user/update', data),
deleteAppUser: (params = {}) => request.delete('/app-user/delete', { params }),
- // invoice (开票记录)
- getInvoiceList: (params = {}) => {
- // Mock 数据
- const mockInvoices = [
- {
- id: 1001,
- created_at: '2024-11-10T09:30:00Z',
- ticket_type: 'electronic',
- phone: '13800138001',
- email: 'zhangsan@company1.com',
- company_name: '北京科技有限公司',
- tax_number: '91110000123456789A',
- register_address: '北京市朝阳区科技园区A座1001室',
- register_phone: '010-12345678',
- bank_name: '中国工商银行北京分行',
- bank_account: '6222021234567890123',
- invoice_type: 'special',
- status: 'pending'
- },
- {
- id: 1002,
- created_at: '2024-11-09T14:20:00Z',
- ticket_type: 'paper',
- phone: '13800138002',
- email: 'lisi@company2.com',
- company_name: '上海贸易股份有限公司',
- tax_number: '91310000987654321B',
- register_address: '上海市浦东新区金融街B座2002室',
- register_phone: '021-87654321',
- bank_name: '中国建设银行上海分行',
- bank_account: '6217001234567890124',
- invoice_type: 'normal',
- status: 'invoiced'
- },
- {
- id: 1003,
- created_at: '2024-11-08T16:45:00Z',
- ticket_type: 'electronic',
- phone: '13800138003',
- email: 'wangwu@company3.com',
- company_name: '深圳创新科技有限公司',
- tax_number: '91440300456789012C',
- register_address: '深圳市南山区高新技术园C座3003室',
- register_phone: '0755-23456789',
- bank_name: '招商银行深圳分行',
- bank_account: '6214851234567890125',
- invoice_type: 'special',
- status: 'rejected'
- },
- {
- id: 1004,
- created_at: '2024-11-07T11:15:00Z',
- ticket_type: 'paper',
- phone: '13800138004',
- email: 'zhaoliu@company4.com',
- company_name: '广州制造业集团有限公司',
- tax_number: '91440100789012345D',
- register_address: '广州市天河区商务中心D座4004室',
- register_phone: '020-34567890',
- bank_name: '中国银行广州分行',
- bank_account: '6013821234567890126',
- invoice_type: 'normal',
- status: 'pending'
- },
- {
- id: 1005,
- created_at: '2024-11-06T08:30:00Z',
- ticket_type: 'electronic',
- phone: '13800138005',
- email: 'sunqi@company5.com',
- company_name: '杭州互联网科技有限公司',
- tax_number: '91330100012345678E',
- register_address: '杭州市西湖区互联网小镇E座5005室',
- register_phone: '0571-45678901',
- bank_name: '浙商银行杭州分行',
- bank_account: '6228481234567890127',
- invoice_type: 'special',
- status: 'invoiced'
- },
- {
- id: 1006,
- created_at: '2024-11-05T13:20:00Z',
- ticket_type: 'paper',
- phone: '13800138006',
- email: 'zhouba@company6.com',
- company_name: '成都软件开发有限公司',
- tax_number: '91510100345678901F',
- register_address: '成都市高新区软件园F座6006室',
- register_phone: '028-56789012',
- bank_name: '中国农业银行成都分行',
- bank_account: '6230521234567890128',
- invoice_type: 'normal',
- status: 'pending'
- },
- {
- id: 1007,
- created_at: '2024-11-04T15:45:00Z',
- ticket_type: 'electronic',
- phone: '13800138007',
- email: 'wujiu@company7.com',
- company_name: '武汉新能源科技有限公司',
- tax_number: '91420100678901234G',
- register_address: '武汉市江汉区新能源产业园G座7007室',
- register_phone: '027-67890123',
- bank_name: '交通银行武汉分行',
- bank_account: '6222601234567890129',
- invoice_type: 'special',
- status: 'invoiced'
- },
- {
- id: 1008,
- created_at: '2024-11-03T10:10:00Z',
- ticket_type: 'paper',
- phone: '13800138008',
- email: 'zhengshi@company8.com',
- company_name: '西安电子商务有限公司',
- tax_number: '91610100901234567H',
- register_address: '西安市雁塔区电商产业园H座8008室',
- register_phone: '029-78901234',
- bank_name: '中信银行西安分行',
- bank_account: '6217711234567890130',
- invoice_type: 'normal',
- status: 'refunded'
- },
- {
- id: 1009,
- created_at: '2024-11-02T14:30:00Z',
- ticket_type: 'electronic',
- phone: '13800138009',
- email: 'wangwu@company9.com',
- company_name: '天津物流科技有限公司',
- tax_number: '91120000234567890I',
- register_address: '天津市滨海新区物流园I座9009室',
- register_phone: '022-89012345',
- bank_name: '民生银行天津分行',
- bank_account: '6226221234567890131',
- invoice_type: 'special',
- status: 'refunded'
- },
- {
- id: 1010,
- created_at: '2024-11-01T11:45:00Z',
- ticket_type: 'paper',
- phone: '13800138010',
- email: 'liuliu@company10.com',
- company_name: '重庆智能制造有限公司',
- tax_number: '91500000567890123J',
- register_address: '重庆市渝北区智能制造园J座1010室',
- register_phone: '023-90123456',
- bank_name: '华夏银行重庆分行',
- bank_account: '6228881234567890132',
- invoice_type: 'normal',
- status: 'rejected'
- }
- ]
-
- // 模拟分页和搜索
- let filteredInvoices = [...mockInvoices]
-
- // 手机号搜索
- if (params.phone) {
- filteredInvoices = filteredInvoices.filter(invoice =>
- invoice.phone.includes(params.phone)
- )
- }
-
- // 公司名称搜索
- if (params.company_name) {
- filteredInvoices = filteredInvoices.filter(invoice =>
- invoice.company_name.includes(params.company_name)
- )
- }
-
- // 公司税号搜索
- if (params.tax_number) {
- filteredInvoices = filteredInvoices.filter(invoice =>
- invoice.tax_number.includes(params.tax_number)
- )
- }
-
- // 状态筛选
- if (params.status) {
- filteredInvoices = filteredInvoices.filter(invoice =>
- invoice.status === params.status
- )
- }
-
- // 提交时间筛选
- if (params.created_at && Array.isArray(params.created_at) && params.created_at.length === 2) {
- const [startDate, endDate] = params.created_at
- filteredInvoices = filteredInvoices.filter(invoice => {
- const invoiceDate = new Date(invoice.created_at)
- return invoiceDate >= new Date(startDate) && invoiceDate <= new Date(endDate)
- })
- }
-
- // 分页处理
- const page = params.page || 1
- const pageSize = params.page_size || 10
- const startIndex = (page - 1) * pageSize
- const endIndex = startIndex + pageSize
- const paginatedInvoices = filteredInvoices.slice(startIndex, endIndex)
-
- // 返回 Promise 模拟异步请求
- return new Promise((resolve) => {
- setTimeout(() => {
- resolve({
- data: paginatedInvoices,
- total: filteredInvoices.length,
- page: page,
- page_size: pageSize
- })
- }, 300) // 模拟网络延迟
- })
- },
- getInvoiceById: (params = {}) => request.get('/invoice/detail', { params }),
- createInvoice: (data = {}) => request.post('/invoice/create', data),
- updateInvoice: (data = {}) => request.post('/invoice/update', data),
- deleteInvoice: (params = {}) => request.delete('/invoice/delete', { params }),
- updateInvoiceStatus: (data = {}) => request.post('/invoice/update-status', data),
- remindInvoice: (data = {}) => request.post('/invoice/remind', data),
- refundInvoice: (data = {}) => request.post('/invoice/refund', data),
- sendInvoice: (data = {}) => request.post('/invoice/send', data),
+ // invoice (交易管理-对公转账记录)
+ getInvoiceList: (params = {}) => request.get('/transactions/receipts', { params }),
+ getInvoiceById: (params = {}) => request.get(`/transactions/receipts/${params.id}`, { params }),
+ sendInvoice: (data = {}) => request.post('/transactions/send-email', data),
// valuation (估值评估)
getValuationList: (params = {}) => {
// 模拟分页和搜索
diff --git a/web/src/views/transaction/invoice/index.vue b/web/src/views/transaction/invoice/index.vue
index 50620f0..1cc0343 100644
--- a/web/src/views/transaction/invoice/index.vue
+++ b/web/src/views/transaction/invoice/index.vue
@@ -1,26 +1,14 @@
@@ -372,12 +261,13 @@ const validateForm = {
ref="$table"
v-model:query-items="queryItems"
:columns="columns"
+ :row-key="(row) => row.receipt?.id || row.id"
:get-data="api.getInvoiceList"
>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
row.remark || '-',
- },
+ { title: '操作记录', key: 'operation_detail', ellipsis: { tooltip: true } },
]
function handleClose() {
diff --git a/web/src/views/user-management/user-list/index.vue b/web/src/views/user-management/user-list/index.vue
index 1978b80..4211640 100644
--- a/web/src/views/user-management/user-list/index.vue
+++ b/web/src/views/user-management/user-list/index.vue
@@ -266,6 +266,16 @@ const validateForm = {
@keypress.enter="$table?.handleSearch()"
/>
+
+
+