唐润平:解决了编辑模式bug
This commit is contained in:
@@ -47,9 +47,18 @@
|
||||
import InputNum from "./childComps/InputNum.vue";
|
||||
import SelectInput from "./childComps/SelectInput.vue";
|
||||
import { getEquipmentType, getEquipment } from "@/api/tunnelScene";
|
||||
import { reactive, computed, defineEmits, defineProps, watch, ref } from "vue";
|
||||
import {
|
||||
reactive,
|
||||
computed,
|
||||
defineEmits,
|
||||
defineProps,
|
||||
watch,
|
||||
ref,
|
||||
toRaw,
|
||||
} from "vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { saveEquipment, initData } from "../request";
|
||||
import { useModelSceneStore } from "@/store/modelSceneStore";
|
||||
|
||||
const emit = defineEmits(["cancel", "removeEquipment", "addEquipment"]);
|
||||
const params = defineProps([
|
||||
"pointNum",
|
||||
@@ -63,18 +72,17 @@ const params = defineProps([
|
||||
let p = ref(57);
|
||||
const equipment = ref(null);
|
||||
const equipmentType = ref(null);
|
||||
|
||||
let maxConstructionLength = ref(0);
|
||||
const modelStore = useModelSceneStore();
|
||||
//计算锚点之间距离
|
||||
const pointDistance_str = computed(
|
||||
() =>
|
||||
`${params.pointGap}米*${params.pointNum}=${(
|
||||
params.pointGap * params.pointNum
|
||||
).toFixed(1)}米`
|
||||
`${parseInt(params.pointGap)}米*${params.pointNum}=${
|
||||
parseInt(params.pointGap) * params.pointNum
|
||||
}米`
|
||||
);
|
||||
|
||||
// 请求数据模型
|
||||
const equipmentSetting = reactive({
|
||||
const equipmentSetting = ref({
|
||||
equipmentId: null,
|
||||
equipmentName: "",
|
||||
equipmentType: "", //设备类型
|
||||
@@ -83,26 +91,24 @@ const equipmentSetting = reactive({
|
||||
typeKey: null, //设备选择(设备名称)
|
||||
});
|
||||
function resetEquipmentSetting() {
|
||||
equipmentSetting.equipmentId = null;
|
||||
equipmentSetting.equipmentName = "";
|
||||
equipmentSetting.equipmentType = "";
|
||||
equipmentSetting.position = "";
|
||||
equipmentSetting.threshold = "";
|
||||
equipmentSetting.typeKey = null;
|
||||
equipmentSetting.value.equipmentId = null;
|
||||
equipmentSetting.value.equipmentName = "";
|
||||
equipmentSetting.value.equipmentType = "";
|
||||
equipmentSetting.value.position = "";
|
||||
equipmentSetting.value.threshold = "";
|
||||
equipmentSetting.value.typeKey = null;
|
||||
equipment.value.reset();
|
||||
equipmentType.value.reset();
|
||||
}
|
||||
|
||||
// 绑定选择的设备类型
|
||||
function handleTypeChange(optionItem) {
|
||||
equipmentSetting.equipmentType = optionItem.value;
|
||||
console.log("option", optionItem);
|
||||
equipmentSetting.value.equipmentType = optionItem.value;
|
||||
}
|
||||
function handleEquipmentChange(equipmentItem) {
|
||||
equipmentSetting.equipmentName = equipmentItem.label;
|
||||
equipmentSetting.equipmentId = equipmentItem.equipmentId;
|
||||
equipmentSetting.typeKey = equipmentItem.value;
|
||||
console.log("option", equipmentItem);
|
||||
equipmentSetting.value.equipmentName = equipmentItem.label;
|
||||
equipmentSetting.value.equipmentId = equipmentItem.equipmentId;
|
||||
equipmentSetting.value.typeKey = equipmentItem.value;
|
||||
}
|
||||
// 设备类型选项参数
|
||||
let options = reactive([{ label: "暂无数据", value: "" }]);
|
||||
@@ -112,7 +118,7 @@ let options2 = reactive([{ equipmentId: 0, label: "暂无数据", value: "" }]);
|
||||
|
||||
// 模拟生成option2
|
||||
watch(
|
||||
() => equipmentSetting.equipmentType,
|
||||
() => equipmentSetting.value.equipmentType,
|
||||
(newVal) => {
|
||||
console.log(params.tunnelId, newVal);
|
||||
equipment.value.reset();
|
||||
@@ -164,19 +170,23 @@ function addEquipment() {
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!equipmentSetting.equipmentType || !equipmentSetting.equipmentId) {
|
||||
if (
|
||||
!equipmentSetting.value.equipmentType ||
|
||||
!equipmentSetting.value.equipmentId
|
||||
) {
|
||||
ElMessage({
|
||||
message: "选项不能为空!",
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
equipmentSetting.position = params.position;
|
||||
console.log("add", equipmentSetting);
|
||||
equipmentSetting.value.position = params.position;
|
||||
console.log("add-", toRaw(equipmentSetting.value));
|
||||
// 合法请求
|
||||
saveEquipment(equipmentSetting, params.pointGap)
|
||||
modelStore
|
||||
.addEquipment({ ...toRaw(equipmentSetting.value) }, params.pointGap)
|
||||
.then((res) => {
|
||||
emit("addEquipment", equipmentSetting);
|
||||
emit("addEquipment", equipmentSetting.value);
|
||||
ElMessage({
|
||||
message: "添加成功!",
|
||||
type: "success",
|
||||
|
||||
Reference in New Issue
Block a user