feat: 在区域详情和编辑卡片中新增约束区最大可容纳AMR数配置,优化区域服务逻辑
This commit is contained in:
parent
8ef5374fa3
commit
c8085751f9
@ -63,13 +63,19 @@ const bindRoute = computed<string>(
|
|||||||
</a-row>
|
</a-row>
|
||||||
|
|
||||||
<a-list class="block mt-16">
|
<a-list class="block mt-16">
|
||||||
|
<a-list-item v-if="area.type === MapAreaType.约束区">
|
||||||
|
<a-flex :gap="8" vertical>
|
||||||
|
<a-typography-text type="secondary">{{ $t('最大可容纳AMR数') }}</a-typography-text>
|
||||||
|
<a-typography-text>{{ pen.area?.maxAmr ?? $t('暂无') }}</a-typography-text>
|
||||||
|
</a-flex>
|
||||||
|
</a-list-item>
|
||||||
<a-list-item v-if="MapAreaType.库区 === area.type">
|
<a-list-item v-if="MapAreaType.库区 === area.type">
|
||||||
<a-flex :gap="8" vertical>
|
<a-flex :gap="8" vertical>
|
||||||
<a-typography-text type="secondary">{{ $t('绑定动作点') }}</a-typography-text>
|
<a-typography-text type="secondary">{{ $t('绑定动作点') }}</a-typography-text>
|
||||||
<a-typography-text>{{ bindAction || $t('暂无') }}</a-typography-text>
|
<a-typography-text>{{ bindAction || $t('暂无') }}</a-typography-text>
|
||||||
</a-flex>
|
</a-flex>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item v-if="[MapAreaType.互斥区, MapAreaType.非互斥区].includes(area.type)">
|
<a-list-item v-if="[MapAreaType.互斥区, MapAreaType.非互斥区, MapAreaType.约束区].includes(area.type)">
|
||||||
<a-flex :gap="8" vertical>
|
<a-flex :gap="8" vertical>
|
||||||
<a-typography-text type="secondary">{{ $t('绑定站点') }}</a-typography-text>
|
<a-typography-text type="secondary">{{ $t('绑定站点') }}</a-typography-text>
|
||||||
<a-typography-text>{{ bindPoint || $t('暂无') }}</a-typography-text>
|
<a-typography-text>{{ bindPoint || $t('暂无') }}</a-typography-text>
|
||||||
|
@ -74,7 +74,7 @@ const routes = computed<string[]>(
|
|||||||
class="full"
|
class="full"
|
||||||
:placeholder="$t('请输入数量')"
|
:placeholder="$t('请输入数量')"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="99"
|
:max="9999"
|
||||||
:value="pen.area?.maxAmr"
|
:value="pen.area?.maxAmr"
|
||||||
@change="editor.updateArea(id, { maxAmr: $event as number })"
|
@change="editor.updateArea(id, { maxAmr: $event as number })"
|
||||||
/>
|
/>
|
||||||
|
@ -146,10 +146,10 @@ export class EditorService extends Meta2d {
|
|||||||
if (!areas?.length) return;
|
if (!areas?.length) return;
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
areas.map(async (v) => {
|
areas.map(async (v) => {
|
||||||
const { id, name, desc, x, y, w, h, type, points, routes, properties } = v;
|
const { id, name, desc, x, y, w, h, type, points, routes, maxAmr, properties } = v;
|
||||||
await this.addArea({ x, y }, { x: x + w, y: y + h }, type, id);
|
await this.addArea({ x, y }, { x: x + w, y: y + h }, type, id);
|
||||||
this.setValue(
|
this.setValue(
|
||||||
{ id, label: name, desc, properties, area: { type, points, routes } },
|
{ id, label: name, desc, properties, area: { type, points, routes, maxAmr } },
|
||||||
{ render: false, history: false, doEvent: false },
|
{ render: false, history: false, doEvent: false },
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
@ -241,6 +241,9 @@ export class EditorService extends Meta2d {
|
|||||||
config: {},
|
config: {},
|
||||||
properties,
|
properties,
|
||||||
};
|
};
|
||||||
|
if (type === MapAreaType.约束区) {
|
||||||
|
area.maxAmr = maxAmr;
|
||||||
|
}
|
||||||
if (MapAreaType.库区 === type) {
|
if (MapAreaType.库区 === type) {
|
||||||
area.points = points?.filter((v) => this.getPenById(v)?.point?.type === MapPointType.动作点);
|
area.points = points?.filter((v) => this.getPenById(v)?.point?.type === MapPointType.动作点);
|
||||||
}
|
}
|
||||||
@ -255,9 +258,6 @@ export class EditorService extends Meta2d {
|
|||||||
if (MapAreaType.互斥区 === type) {
|
if (MapAreaType.互斥区 === type) {
|
||||||
area.routes = routes?.filter((v) => !isEmpty(this.getPenById(v)?.area));
|
area.routes = routes?.filter((v) => !isEmpty(this.getPenById(v)?.area));
|
||||||
}
|
}
|
||||||
if (MapAreaType.约束区 === type) {
|
|
||||||
area.maxAmr = maxAmr;
|
|
||||||
}
|
|
||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
|
Loading…
x
Reference in New Issue
Block a user