This commit is contained in:
2025-10-09 00:40:50 +08:00
parent f36dc4f3d3
commit d41cf24764

View File

@@ -376,6 +376,9 @@ export default {
else { this.$modal.msgError(res.msg || '加载属性失败'); } else { this.$modal.msgError(res.msg || '加载属性失败'); }
} catch(e) { this.$modal.msgError('加载属性失败'); } } catch(e) { this.$modal.msgError('加载属性失败'); }
}, },
onPvChange() {
// 属性值变更时的回调(可用于调试或联动逻辑)
},
submitPublish() { submitPublish() {
this.$refs.publishForm.validate(valid => { this.$refs.publishForm.validate(valid => {
if (!valid) return; if (!valid) return;
@@ -389,10 +392,26 @@ export default {
try { channelPv = JSON.parse(f.channelPvJson); } try { channelPv = JSON.parse(f.channelPvJson); }
catch(e) { this.$modal.msgError('属性JSON格式不正确'); return; } catch(e) { this.$modal.msgError('属性JSON格式不正确'); return; }
} else if (this.selectedPv && Object.keys(this.selectedPv).length) { } else if (this.selectedPv && Object.keys(this.selectedPv).length) {
channelPv = Object.keys(this.selectedPv).map(pid => ({ // 从 pvOptions 中获取完整的属性信息property_id, property_name, value_id, value_name
property_id: isNaN(Number(pid)) ? pid : Number(pid), channelPv = [];
value_id: this.selectedPv[pid] Object.keys(this.selectedPv).forEach(pid => {
})); const valueId = this.selectedPv[pid];
if (!valueId) return; // 跳过未选择的属性
// 从 pvOptions 中找到对应的属性
const property = this.pvOptions.find(p => String(p.propertyId) === String(pid));
if (!property) return;
// 从属性的 values 中找到对应的值
const value = property.values && property.values.find(v => String(v.valueId) === String(valueId));
if (!value) return;
// 构建完整的4个字段
channelPv.push({
property_id: pid,
property_name: property.propertyName,
value_id: valueId,
value_name: value.valueName
});
});
if (channelPv.length === 0) channelPv = undefined;
} }
const payload = { const payload = {
appid: f.appid || undefined, appid: f.appid || undefined,