diff --git a/docs/sql/add_valuation_menu.sql b/docs/sql/add_valuation_menu.sql new file mode 100644 index 0000000..d08691d --- /dev/null +++ b/docs/sql/add_valuation_menu.sql @@ -0,0 +1,24 @@ +-- 新增估值管理菜单 +-- 创建时间: 2025-11-13 + +-- 插入一级目录:估值管理 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (18, '估值管理', 'catalog', 'carbon:calculator', '/valuation', 4, 0, 0, 'Layout', 0, '/valuation/audit', 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 + (19, '审核列表', 'menu', 'carbon:task-approved', 'audit', 1, 18, 0, '/valuation/audit', 0, NULL, datetime('now'), datetime('now')); + +-- 为管理员角色分配菜单权限 +INSERT INTO role_menu (role_id, menu_id) +VALUES + (1, 18), + (1, 19); + +-- 为普通用户角色分配菜单权限 +INSERT INTO role_menu (role_id, menu_id) +VALUES + (2, 18), + (2, 19); diff --git a/web/src/api/index.js b/web/src/api/index.js index b0b7f6c..64bfa43 100644 --- a/web/src/api/index.js +++ b/web/src/api/index.js @@ -53,4 +53,13 @@ export default { deleteInvoice: (params = {}) => request.delete('/invoice/delete', { params }), updateInvoiceStatus: (data = {}) => request.post('/invoice/update-status', data), remindInvoice: (data = {}) => request.post('/invoice/remind', data), + // valuation (估值评估) + getValuationList: (params = {}) => request.get('/valuation', { params }), + getValuationById: (params = {}) => request.get(`/valuation/${params.valuation_id}`), + createValuation: (data = {}) => request.post('/valuation', data), + updateValuation: (data = {}) => request.put(`/valuation/${data.id}`, data), + deleteValuation: (params = {}) => request.delete(`/valuation/${params.valuation_id}`), + approveValuation: (data = {}) => request.post(`/valuation/${data.valuation_id}/approve`, data), + rejectValuation: (data = {}) => request.post(`/valuation/${data.valuation_id}/reject`, data), + updateValuationNotes: (data = {}) => request.put(`/valuation/${data.valuation_id}/admin-notes`, data), } diff --git a/web/src/views/valuation/audit/index.vue b/web/src/views/valuation/audit/index.vue new file mode 100644 index 0000000..fb46181 --- /dev/null +++ b/web/src/views/valuation/audit/index.vue @@ -0,0 +1,394 @@ + + +