From 09e0e6878c7b7bc0949007fda072354e9176b51f Mon Sep 17 00:00:00 2001 From: czl231 <3286836406@qq.com> Date: Wed, 19 Aug 2026 20:34:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B0=94=E7=AB=99=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=86=E9=85=8D=E9=85=8D=E9=80=81=E7=82=B9=E4=B8=8E?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=90=8D=E7=A7=B0=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...œæ—¥å¿—_气站订å•分é…é…é€ç‚¹å称回显_20260819.md | 40 +++++++++++++++++++ frontend/gas_admin/src/api/resources.ts | 2 +- .../views/resource/ResourceActionDialog.vue | 12 +++++- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 docs/æ“作日志_气站订å•分é…é…é€ç‚¹å称回显_20260819.md diff --git a/docs/æ“作日志_气站订å•分é…é…é€ç‚¹å称回显_20260819.md b/docs/æ“作日志_气站订å•分é…é…é€ç‚¹å称回显_20260819.md new file mode 100644 index 0000000..a4b9395 --- /dev/null +++ b/docs/æ“作日志_气站订å•分é…é…é€ç‚¹å称回显_20260819.md @@ -0,0 +1,40 @@ +# 气站订å•分é…é…é€ç‚¹å称回显æ“作日志 + +æ“作时间:2026-08-19 20:08:00 +æ“作类型:修改 +影哿¨¡å—:气站管ç†ç³»ç»Ÿ / é…é€è®¢å•分é…弹窗 + +## æ“作å‰çŠ¶æ€ + +- 分é…弹窗字段标题显示为“é…é€ç‚¹å”¯ä¸€æ ‡è¯†â€ã€‚ +- 已分é…订å•é”定é…é€ç‚¹æ—¶ï¼Œéœ€è¦å†æ¬¡è¯·æ±‚é…é€ç‚¹è¯¦æƒ…æ‰èƒ½å–å¾—åç§°ï¼›è¡¥è½½æœªå®Œæˆæˆ–失败时,下拉框直接展示 UUID。 + +## 具体æ“作 + +- 将字段标题调整为“é…é€ç‚¹â€ï¼Œå·¥ä½œäººå‘˜å­—段调整为“é…é€äººå‘˜â€ã€‚ +- é…é€ç‚¹å€™é€‰æ˜Žç¡®ä½¿ç”¨ `name` 字段作为å¯è¯»å称。 +- é”定é…é€ç‚¹æ—¶ä¼˜å…ˆä½¿ç”¨è®¢å•详情已返回的 `delivery_basic_display_name` 构建回显选项。 +- 订å•详情没有å称时,继续沿用原详情补载逻辑作为兼容兜底。 + +## æ“作åŽçŠ¶æ€ + +- 分é…弹窗按 5173 çš„å±•ç¤ºæ–¹å¼æ˜¾ç¤ºé…é€ç‚¹å称,例如“1â€ï¼Œä¸å†ä¼˜å…ˆå±•示 UUID。 +- é…é€ç‚¹é”定ã€é…é€äººå‘˜ç­›é€‰å’Œåˆ†é…æäº¤å€¼ä¿æŒä¸å˜ã€‚ + +## 代ç å˜æ›´ + +- `frontend/gas_admin/src/api/resources.ts`:分é…åŠ¨ä½œå­—æ®µçš„ä¸šåŠ¡æ ‡é¢˜ã€æç¤ºè¯­å’Œå称键。 +- `frontend/gas_admin/src/views/resource/ResourceActionDialog.vue`:é”定é…é€ç‚¹å称回显。 + +## 验è¯ç»“æžœ + +- `pnpm run type:check`:通过。 +- `pnpm run contract:check`:通过,20 个资æºã€‚ +- `pnpm run resource-pages:check`:通过,详情 20 ç±»ã€æ–°å»º 11 ç±»ã€ç¼–辑 8 类。 +- `pnpm run build`:通过。 + +## 风险评估 + +- 改动仅影å“分é…弹窗的字段文案和下拉框回显。 +- 表å•ä»æäº¤åŽŸ `delivery_basic_identity`ï¼Œä¸æ”¹å˜åŽç«¯æŽ¥å£å’Œåˆ†é…业务逻辑。 +- å·²ä¿ç•™å称缺失时的原详情补载兜底。 diff --git a/frontend/gas_admin/src/api/resources.ts b/frontend/gas_admin/src/api/resources.ts index 7ae3db7..78141b1 100644 --- a/frontend/gas_admin/src/api/resources.ts +++ b/frontend/gas_admin/src/api/resources.ts @@ -434,7 +434,7 @@ const platformResources: ResourceUiDefinition[] = [ ]), define('gasorder_contract_revision', 'åˆåŒä¿®è®¢è®°å½•', 'readonly', []), define('gasorder_basic', '气体é…é€è®¢å•', 'append_only', [f('request_no', { required: true }), relation('gasorder_contract_identity', '/gasorder_contract', true), f('creator_type', { required: true, type: 'select', options: [{ label: '用户', value: 'user' }, { label: '工作人员', value: 'staff' }, { label: 'é…é€ç«™', value: 'delivery' }, { label: '气站', value: 'gas' }] }), f('creator_identity', { required: true }), relation('user_address_identity', '/user_address', true), f('gasorder_contract_product_identities', { required: true, type: 'identity-list', relation: '/gasorder_contract_product' }), f('contact_name', { required: true }), f('contact_phone', { required: true }), f('discount_amount'), f('remark')], 'list', [ - { name: '分é…订å•', resource: '/gasorder_basic/:identity/assign', fields: [relation('delivery_basic_identity', '/delivery_basic', true), relation('staff_account_identity', '/staff_account', true, { staffRelation: { roles: ['delivery'], enabledOnly: true } }), ...reason], visibleFor: { field: 'order_status', values: [16, 18] } }, + { name: '分é…订å•', resource: '/gasorder_basic/:identity/assign', fields: [relation('delivery_basic_identity', '/delivery_basic', true, { label: 'é…é€ç‚¹', placeholder: '请选择åˆåŒå±¥çº¦èŒƒå›´å†…çš„é…é€ç‚¹', relationOptionLabelKey: 'name' }), relation('staff_account_identity', '/staff_account', true, { label: 'é…é€äººå‘˜', placeholder: '请选择当å‰é…é€ç‚¹å†…çš„é…é€äººå‘˜', staffRelation: { roles: ['delivery'], enabledOnly: true } }), ...reason], visibleFor: { field: 'order_status', values: [16, 18] } }, { name: '开始ç½è£…', resource: '/gasorder_basic/:identity/filling', fields: reason, visibleFor: { field: 'order_status', values: [18] } }, { name: 'å¾…é…é€', resource: '/gasorder_basic/:identity/ready', fields: reason, visibleFor: { field: 'order_status', values: [19] } }, { name: '开始é…é€', resource: '/gasorder_basic/:identity/delivering', fields: reason, visibleFor: { field: 'order_status', values: [20] } }, diff --git a/frontend/gas_admin/src/views/resource/ResourceActionDialog.vue b/frontend/gas_admin/src/views/resource/ResourceActionDialog.vue index f098203..df93a2e 100644 --- a/frontend/gas_admin/src/views/resource/ResourceActionDialog.vue +++ b/frontend/gas_admin/src/views/resource/ResourceActionDialog.vue @@ -217,7 +217,17 @@ async function initializeGasorderAssignment() { const lockedIdentity = lockedAssignmentDeliveryIdentity.value; if (lockedIdentity) { form.delivery_basic_identity = lockedIdentity; - await relations.ensure('/delivery_basic', lockedIdentity); + const lockedDisplayName = String( + props.record.delivery_basic_display_name ?? '', + ).trim(); + // 订å•详情已返回当å‰é…é€ç‚¹å称时直接回显,é¿å…补载请求期间短暂展示裸唯一标识。 + if (lockedDisplayName) { + relations.options['/delivery_basic'] = [ + { identity: lockedIdentity, name: lockedDisplayName }, + ]; + } else { + await relations.ensure('/delivery_basic', lockedIdentity); + } await relations.loadField(staffField, '', { filters: assignmentStaffFilters(lockedIdentity), });