修复气站合同用户权限与服务关系边界
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<!--
|
||||
功能:承载平台总后台全部标准资源的新建、详情和编辑独立页面。
|
||||
版本:v1.3.0
|
||||
版本:v1.4.0
|
||||
-->
|
||||
<template>
|
||||
<div class="record-page">
|
||||
@@ -400,9 +400,16 @@ const canEditRecord = computed(
|
||||
const visibleActions = computed(() =>
|
||||
(definition.value.detailActions ?? []).filter(
|
||||
(action) =>
|
||||
!action.visibleFor ||
|
||||
action.visibleFor.values.includes(
|
||||
record.value[action.visibleFor.field] as string | number,
|
||||
!(
|
||||
definition.value.name === 'gasorder_contract' &&
|
||||
record.value.user_service_active === false &&
|
||||
action.name !== '终止合同'
|
||||
) &&
|
||||
(
|
||||
!action.visibleFor ||
|
||||
action.visibleFor.values.includes(
|
||||
record.value[action.visibleFor.field] as string | number,
|
||||
)
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 功能:为资源表单和详情页加载、缓存并搜索关联资源选项。
|
||||
* 版本:v1.0.0
|
||||
* 版本:v1.1.0
|
||||
*/
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
import { onBeforeUnmount, reactive } from 'vue';
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
import type { ResourceField } from '@/api/resources';
|
||||
import type { ResourceRow } from '@/api/resource-page-rules';
|
||||
import { fieldRelationResource } from '@/api/resource-display';
|
||||
import { relationDisplayName } from '../shared/resource-list-field-display';
|
||||
import { createRelationRequestVersionGuard } from './resource-relation-linkage-policy';
|
||||
|
||||
export type ResourceRelationLoadOptions = {
|
||||
@@ -134,6 +135,8 @@ export function useResourceRelations(
|
||||
/** 补载表单或详情中已经保存的关系值,避免分页和筛选导致回显裸标识。 */
|
||||
async function ensureValues(fields: ResourceField[], values: ResourceRow) {
|
||||
const requests = fields.flatMap((field) => {
|
||||
// 服务端已在当前业务记录范围内返回名称时,不再重复补载关联用户。
|
||||
if (relationDisplayName(field, values)) return [];
|
||||
const resource = fieldRelationResource(field, values);
|
||||
if (!resource) return [];
|
||||
const value = values[field.key];
|
||||
|
||||
Reference in New Issue
Block a user