唐润平:设备唯一性

This commit is contained in:
trp
2023-12-29 14:19:42 +08:00
parent 196eac3cee
commit a1f31cf3ef
2 changed files with 63 additions and 37 deletions

View File

@@ -68,9 +68,9 @@ let maxConstructionLength = ref(0);
//计算锚点之间距离 //计算锚点之间距离
const pointDistance_str = computed( const pointDistance_str = computed(
() => () =>
`${params.pointGap}米*${params.pointNum}=${ `${params.pointGap}米*${params.pointNum}=${(
params.pointGap * params.pointNum params.pointGap * params.pointNum
}` ).toFixed(2)}`
); );
watch( watch(
@@ -92,16 +92,25 @@ const equipmentSetting = reactive({
threshold: "", //阈值 threshold: "", //阈值
typeKey: null, //设备选择(设备名称) typeKey: null, //设备选择(设备名称)
}); });
function resetEquipmentSetting() {
equipmentSetting.equipmentId = null;
equipmentSetting.equipmentName = "";
equipmentSetting.equipmentType = "";
equipmentSetting.position = "";
equipmentSetting.threshold = "";
equipmentSetting.typeKey = null;
equipment.value.reset();
equipmentType.value.reset();
}
// 绑定选择的设备类型 // 绑定选择的设备类型
function handleTypeChange(optionItem) { function handleTypeChange(optionItem) {
equipmentSetting.equipmentType = optionItem.value; equipmentSetting.equipmentType = optionItem.value;
console.log("option", equipmentSetting);
} }
function handleEquipmentChange(equipmentItem) { function handleEquipmentChange(equipmentItem) {
equipmentSetting.equipmentName = equipmentItem.label; equipmentSetting.equipmentName = equipmentItem.label;
equipmentSetting.equipmentId = equipmentItem.equipmentId; equipmentSetting.equipmentId = equipmentItem.equipmentId;
equipmentSetting.typeKey = equipmentItem.value; equipmentSetting.typeKey = equipmentItem.value;
console.log("option", equipmentSetting);
} }
// 设备类型选项参数 // 设备类型选项参数
let options = reactive([{ label: "暂无数据", value: "" }]); let options = reactive([{ label: "暂无数据", value: "" }]);
@@ -144,11 +153,7 @@ function handelInput(e) {
// 处理取消事件 // 处理取消事件
function handleCancel() { function handleCancel() {
equipmentSetting.equipmentType = ""; resetEquipmentSetting();
equipmentSetting.chooseEquipment = null;
equipmentSetting.threshold = "";
equipment.value.reset();
equipmentType.value.reset();
// 发射事件给tunnel父组件 // 发射事件给tunnel父组件
emit("cancel"); emit("cancel");
} }
@@ -183,12 +188,21 @@ function addEquipment() {
message: "添加成功!", message: "添加成功!",
type: "success", type: "success",
}); });
resetEquipmentSetting();
}) })
.catch((err) => { .catch((err) => {
ElMessage({ if (err === 3000) {
message: "添加异常!", ElMessage({
type: "warning", message: "该设备已添加!",
}); type: "warning",
});
resetEquipmentSetting();
} else {
ElMessage({
message: "添加异常!",
type: "warning",
});
}
}); });
} }
</script> </script>

View File

@@ -37,29 +37,33 @@ export const saveEquipment = (equipmentInfo, pointGap) => {
let tempModelEquipmentList = [...modelEquipmentList]; //数组克隆 let tempModelEquipmentList = [...modelEquipmentList]; //数组克隆
tempModelEquipmentList.push(toRaw(equipmentInfo)); tempModelEquipmentList.push(toRaw(equipmentInfo));
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
apiSaveEquipment({ console.log("equId", equipmentInfo.equipmentId);
constructionLength: autoComputeConstructionLength( hasEquipment(equipmentInfo.equipmentId)
tempModelEquipmentList, ? reject(3000)
pointGap : apiSaveEquipment({
), constructionLength: autoComputeConstructionLength(
isDefault, tempModelEquipmentList,
modelEquipmentList: tempModelEquipmentList, pointGap
remarks, ),
serialNumber, isDefault,
tunnelId, modelEquipmentList: tempModelEquipmentList,
tunnelLength: totalLength, remarks,
tunnelName, serialNumber,
}) tunnelId,
.then((res) => { tunnelLength: totalLength,
if (res?.code === 1000) { tunnelName,
modelEquipmentList.push(toRaw(equipmentInfo)); //存入本地 })
resolve(); .then((res) => {
} if (res?.code === 1000) {
reject(res); modelEquipmentList.push(toRaw(equipmentInfo)); //存入本地
}) resolve();
.catch((err) => { }
reject(); console.log("add", res);
}); reject(res);
})
.catch((err) => {
reject();
});
}); });
}; };
@@ -103,7 +107,7 @@ export const deleteEquipment = (equipmentId, pointGap) => {
.then((res) => { .then((res) => {
if (res?.code === 1000) { if (res?.code === 1000) {
modelEquipmentList = modelEquipmentList.filter( modelEquipmentList = modelEquipmentList.filter(
(item) => item.equipmentId != equipmentId (item) => item.equipmentId === equipmentId
); );
resolve(); resolve();
} }
@@ -131,3 +135,11 @@ function autoComputeConstructionLength(modelEquipmentList, pointGap) {
}); });
return maxLength; return maxLength;
} }
function hasEquipment(equipmentId) {
let result = false;
modelEquipmentList.forEach((item) => {
if (item.equipmentId === equipmentId) result = true;
});
return result;
}