已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -163,6 +163,7 @@ const fieldLabels: Record<string, string> = {
repair_no: '检修单号',
repair_type: '检修类型',
appointment_at: '预约时间',
deposit_amount: '气瓶押金(分)',
started_at: '开始时间',
completed_at: '完成时间',
result: '检修结果',
@@ -413,6 +414,7 @@ const ticketCategoryField = f('category', {
{ label: '安检', value: 'inspection' },
{ label: '复检', value: 'reinspection' },
{ label: '客服咨询', value: 'customer_service' },
{ label: '合同变更', value: 'contract_change' },
],
});
@@ -624,7 +626,9 @@ const platformResources: ResourceUiDefinition[] = [
define('fin_settlement', '财务结算', 'writable', [f('settlement_no', { required: true }), f('subject_type', { required: true }), f('subject_identity', { required: true }), f('period_start', { required: true }), f('period_end', { required: true })]),
define('fin_reconciliation', '财务对账', 'readonly', []),
define('cms_content', '内容', 'writable', [f('content_type', { required: true }), f('title', { required: true }), f('body', { required: true }), f('version_no'), f('publish_status')]),
define('cs_ticket', '客服工单', 'writable', ticketFields),
define('cs_ticket', '客服工单', 'writable', ticketFields, 'list', [
{ name: '答复合同申请', resource: '/cs_ticket/:identity/resolve-contract-request', fields: [f('result', { label: '处理结果', required: true })], visibleFor: { field: 'contract_request_open', values: [1] } },
]),
define('platform_account', '平台账户', 'writable', [f('username', { required: true }), f('password', { required: true }), f('display_name'), f('avatar'), f('platform_role_code', { required: true }), f('phone')]),
define('platform_role', '平台角色', 'writable', [f('role_code', { required: true }), f('name', { required: true }), f('location_scope', { required: true, type: 'select', options: [{ label: '脱敏坐标', value: 'standard' }, { label: '精确坐标', value: 'precise' }] })], 'list', [
{ name: '分配菜单', resource: '/platform_role/:identity/menu', method: 'PUT', fields: [f('menu_identities', { type: 'identity-list', relation: '/platform_menu' })] },
@@ -671,7 +675,9 @@ const gasOverrides: ResourceUiDefinition[] = [
define('wallet_apply_cash', '提现申请', 'append_only', [relation('wallet_bank_identity', '/wallet_bank'), f('request_no', { required: true }), f('amount', { required: true }), withdrawalChannelField, f('remark')]),
define('fin_settlement', '财务结算', 'readonly', []),
define('fin_reconciliation', '财务对账', 'readonly', []),
define('cs_ticket', '客服工单', 'writable', ticketFields),
define('cs_ticket', '客服工单', 'writable', ticketFields, 'list', [
{ name: '答复合同申请', resource: '/cs_ticket/:identity/resolve-contract-request', fields: [f('result', { label: '处理结果', required: true })], visibleFor: { field: 'contract_request_open', values: [1] } },
]),
];
const gasResourceNames = new Set(gasOverrides.map((item) => item.name));

File diff suppressed because one or more lines are too long