唐润平:设备唯一性
This commit is contained in:
@@ -68,9 +68,9 @@ let maxConstructionLength = ref(0);
|
||||
//计算锚点之间距离
|
||||
const pointDistance_str = computed(
|
||||
() =>
|
||||
`${params.pointGap}米*${params.pointNum}=${
|
||||
`${params.pointGap}米*${params.pointNum}=${(
|
||||
params.pointGap * params.pointNum
|
||||
}米`
|
||||
).toFixed(2)}米`
|
||||
);
|
||||
|
||||
watch(
|
||||
@@ -92,16 +92,25 @@ const equipmentSetting = reactive({
|
||||
threshold: "", //阈值
|
||||
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) {
|
||||
equipmentSetting.equipmentType = optionItem.value;
|
||||
console.log("option", equipmentSetting);
|
||||
}
|
||||
function handleEquipmentChange(equipmentItem) {
|
||||
equipmentSetting.equipmentName = equipmentItem.label;
|
||||
equipmentSetting.equipmentId = equipmentItem.equipmentId;
|
||||
equipmentSetting.typeKey = equipmentItem.value;
|
||||
console.log("option", equipmentSetting);
|
||||
}
|
||||
// 设备类型选项参数
|
||||
let options = reactive([{ label: "暂无数据", value: "" }]);
|
||||
@@ -144,11 +153,7 @@ function handelInput(e) {
|
||||
|
||||
// 处理取消事件
|
||||
function handleCancel() {
|
||||
equipmentSetting.equipmentType = "";
|
||||
equipmentSetting.chooseEquipment = null;
|
||||
equipmentSetting.threshold = "";
|
||||
equipment.value.reset();
|
||||
equipmentType.value.reset();
|
||||
resetEquipmentSetting();
|
||||
// 发射事件给tunnel父组件
|
||||
emit("cancel");
|
||||
}
|
||||
@@ -183,12 +188,21 @@ function addEquipment() {
|
||||
message: "添加成功!",
|
||||
type: "success",
|
||||
});
|
||||
resetEquipmentSetting();
|
||||
})
|
||||
.catch((err) => {
|
||||
ElMessage({
|
||||
message: "添加异常!",
|
||||
type: "warning",
|
||||
});
|
||||
if (err === 3000) {
|
||||
ElMessage({
|
||||
message: "该设备已添加!",
|
||||
type: "warning",
|
||||
});
|
||||
resetEquipmentSetting();
|
||||
} else {
|
||||
ElMessage({
|
||||
message: "添加异常!",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -37,29 +37,33 @@ export const saveEquipment = (equipmentInfo, pointGap) => {
|
||||
let tempModelEquipmentList = [...modelEquipmentList]; //数组克隆
|
||||
tempModelEquipmentList.push(toRaw(equipmentInfo));
|
||||
return new Promise((resolve, reject) => {
|
||||
apiSaveEquipment({
|
||||
constructionLength: autoComputeConstructionLength(
|
||||
tempModelEquipmentList,
|
||||
pointGap
|
||||
),
|
||||
isDefault,
|
||||
modelEquipmentList: tempModelEquipmentList,
|
||||
remarks,
|
||||
serialNumber,
|
||||
tunnelId,
|
||||
tunnelLength: totalLength,
|
||||
tunnelName,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res?.code === 1000) {
|
||||
modelEquipmentList.push(toRaw(equipmentInfo)); //存入本地
|
||||
resolve();
|
||||
}
|
||||
reject(res);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject();
|
||||
});
|
||||
console.log("equId", equipmentInfo.equipmentId);
|
||||
hasEquipment(equipmentInfo.equipmentId)
|
||||
? reject(3000)
|
||||
: apiSaveEquipment({
|
||||
constructionLength: autoComputeConstructionLength(
|
||||
tempModelEquipmentList,
|
||||
pointGap
|
||||
),
|
||||
isDefault,
|
||||
modelEquipmentList: tempModelEquipmentList,
|
||||
remarks,
|
||||
serialNumber,
|
||||
tunnelId,
|
||||
tunnelLength: totalLength,
|
||||
tunnelName,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res?.code === 1000) {
|
||||
modelEquipmentList.push(toRaw(equipmentInfo)); //存入本地
|
||||
resolve();
|
||||
}
|
||||
console.log("add", res);
|
||||
reject(res);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -103,7 +107,7 @@ export const deleteEquipment = (equipmentId, pointGap) => {
|
||||
.then((res) => {
|
||||
if (res?.code === 1000) {
|
||||
modelEquipmentList = modelEquipmentList.filter(
|
||||
(item) => item.equipmentId != equipmentId
|
||||
(item) => item.equipmentId === equipmentId
|
||||
);
|
||||
resolve();
|
||||
}
|
||||
@@ -131,3 +135,11 @@ function autoComputeConstructionLength(modelEquipmentList, pointGap) {
|
||||
});
|
||||
return maxLength;
|
||||
}
|
||||
|
||||
function hasEquipment(equipmentId) {
|
||||
let result = false;
|
||||
modelEquipmentList.forEach((item) => {
|
||||
if (item.equipmentId === equipmentId) result = true;
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user