|
@@ -131,7 +131,13 @@
|
|
|
<!--
|
|
<!--
|
|
|
票 76(双区合并,维护者裁定 2026-10-26):**待确认占位卡**。
|
|
票 76(双区合并,维护者裁定 2026-10-26):**待确认占位卡**。
|
|
|
旧「关联设备图层」清单承载的语义是「快照里有、详情还没回来 → 以编码占位并标待确认」;
|
|
旧「关联设备图层」清单承载的语义是「快照里有、详情还没回来 → 以编码占位并标待确认」;
|
|
|
- 合并后一台设备只出现一次,但这条可见性必须保留 —— 占位卡只列「快照有、详情未回」的编码。
|
|
|
|
|
|
|
+ 合并后一台设备只出现一次,但这条可见性必须保留 —— 占位卡只列「快照有、详情未回」的行。
|
|
|
|
|
+
|
|
|
|
|
+ 票 43/44 的两条接缝也落在这里(不是丢掉了):
|
|
|
|
|
+ · `row.nameLabel` —— `deviceLabel(row, { visible: true })` 的结论(名称为主、编码为辅),
|
|
|
|
|
+ 保证「详情未回」时也按同一套标签规则显示,而不是模板里另编一套;
|
|
|
|
|
+ · `row.assetReasonText` + `assetMode/assetReason` 数据属性 —— 资产接缝的解释
|
|
|
|
|
+ (为什么这台可能上不了图),以前只在图层行出现。
|
|
|
-->
|
|
-->
|
|
|
<button
|
|
<button
|
|
|
v-for="(row, index) in pendingDeviceCodes"
|
|
v-for="(row, index) in pendingDeviceCodes"
|
|
@@ -140,17 +146,22 @@
|
|
|
class="point-detail__card is-pending"
|
|
class="point-detail__card is-pending"
|
|
|
:data-device-card="pagedCards.total + index"
|
|
:data-device-card="pagedCards.total + index"
|
|
|
:data-device-code="row.code"
|
|
:data-device-code="row.code"
|
|
|
|
|
+ :data-device-asset-mode="row.assetMode"
|
|
|
|
|
+ :data-device-asset-reason="row.assetReason"
|
|
|
data-device-pending="yes"
|
|
data-device-pending="yes"
|
|
|
disabled
|
|
disabled
|
|
|
>
|
|
>
|
|
|
<span class="point-detail__card-top">
|
|
<span class="point-detail__card-top">
|
|
|
- <b class="point-detail__card-name">{{ row.code }}</b>
|
|
|
|
|
|
|
+ <b class="point-detail__card-name">{{ row.nameLabel.name }}</b>
|
|
|
<span class="point-detail__card-pending">详情待确认</span>
|
|
<span class="point-detail__card-pending">详情待确认</span>
|
|
|
</span>
|
|
</span>
|
|
|
<span class="point-detail__card-meta">
|
|
<span class="point-detail__card-meta">
|
|
|
- <span class="point-detail__mono">{{ row.code }}</span>
|
|
|
|
|
|
|
+ <span v-if="row.nameLabel.code" class="point-detail__mono">{{ row.nameLabel.code }}</span>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span class="point-detail__card-reason">
|
|
|
|
|
+ <template v-if="row.assetReasonText">{{ row.assetReasonText }}</template>
|
|
|
|
|
+ <template v-else>该设备在当前地图快照中,详情尚未返回</template>
|
|
|
</span>
|
|
</span>
|
|
|
- <span class="point-detail__card-reason">该设备在当前地图快照中,详情尚未返回</span>
|
|
|
|
|
</button>
|
|
</button>
|
|
|
<p v-if="!cards.length && !pendingDeviceCodes.length" class="point-detail__hint" data-device-cards-empty>
|
|
<p v-if="!cards.length && !pendingDeviceCodes.length" class="point-detail__hint" data-device-cards-empty>
|
|
|
该监测点当前没有关联设备
|
|
该监测点当前没有关联设备
|
|
@@ -370,14 +381,16 @@ const deviceListRows = computed(() =>
|
|
|
* 票 76(双区合并):**待确认占位卡**的数据源。
|
|
* 票 76(双区合并):**待确认占位卡**的数据源。
|
|
|
*
|
|
*
|
|
|
* 旧「关联设备图层」清单用「总数取快照 `deviceCodes`」表达「快照里有、详情还没回来」;
|
|
* 旧「关联设备图层」清单用「总数取快照 `deviceCodes`」表达「快照里有、详情还没回来」;
|
|
|
- * 合并成单列表后,这条可见性由占位卡承担:只列**快照有、卡片里没有**的设备编码(一台设备只出现一次)。
|
|
|
|
|
|
|
+ * 合并成单列表后,这条可见性由占位卡承担:只列**快照有、卡片里没有**的设备行(一台设备只出现一次)。
|
|
|
* 判据放这里而不是模板:占位 = 快照编码集合 − 已出卡片编码集合。
|
|
* 判据放这里而不是模板:占位 = 快照编码集合 − 已出卡片编码集合。
|
|
|
|
|
+ *
|
|
|
|
|
+ * **整行透出**(不是只留 code):票 43 的 `nameLabel`(`deviceLabel` 名称接缝)与票 44 的
|
|
|
|
|
+ * `assetMode/assetReason/assetReasonText`(资产接缝)都挂在行上;占位卡也要按同一套规则显示,
|
|
|
|
|
+ * 否则这两条接缝在合并后就真的没有生产调用点了。
|
|
|
*/
|
|
*/
|
|
|
const pendingDeviceCodes = computed(() => {
|
|
const pendingDeviceCodes = computed(() => {
|
|
|
const cardCodes = new Set(cards.value.map((card) => card.code))
|
|
const cardCodes = new Set(cards.value.map((card) => card.code))
|
|
|
- return (deviceListRows.value || [])
|
|
|
|
|
- .filter((row) => row.code && !cardCodes.has(row.code))
|
|
|
|
|
- .map((row) => ({ code: row.code }))
|
|
|
|
|
|
|
+ return (deviceListRows.value || []).filter((row) => row.code && !cardCodes.has(row.code))
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
/**
|
|
/**
|