From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/views/fysp/scene/SceneEditDialog.vue | 139 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 109 insertions(+), 30 deletions(-)
diff --git a/src/views/fysp/scene/SceneEditDialog.vue b/src/views/fysp/scene/SceneEditDialog.vue
index b730af4..5f237cf 100644
--- a/src/views/fysp/scene/SceneEditDialog.vue
+++ b/src/views/fysp/scene/SceneEditDialog.vue
@@ -1,31 +1,29 @@
<template>
- <el-dialog>
- <div class="sub-title">璐︽埛淇℃伅</div>
- <el-row>
- <FormCol>
- <CompUserInfo :form-info="formUser" />
- </FormCol>
- </el-row>
- <el-divider />
- <div class="sub-title">鍩烘湰淇℃伅</div>
- <el-row>
- <FormCol>
- <CompSceneBaseInfo :model="formScene" />
- </FormCol>
- </el-row>
- <template v-if="formScene.typeid == 1">
- <el-divider />
- <div class="sub-title">宸ュ湴淇℃伅</div>
- <el-row>
- <FormCol>
- <CompSceneConstructionInfo
- showStyle="form"
- :form-info="formSubScene"
- />
- </FormCol>
- </el-row>
- <el-divider />
- <div class="sub-title">璁惧淇℃伅</div>
+ <el-dialog
+ :model-value="modelValue"
+ @update:model-value="handleDialogChange"
+ top="2vh"
+ class="dialog-wrapper"
+ v-loading="loading"
+ >
+ <el-scrollbar
+ ref="scrollbarRef"
+ height="86vh"
+ v-loading="loading"
+ :always="true"
+ >
+ <template v-if="formScene && formScene.typeid == 1">
+ <div class="sub-title">宸ュ湴淇℃伅</div>
+ <el-row>
+ <FormCol>
+ <CompSceneConstructionInfo
+ showStyle="form"
+ :form-info="formSubScene"
+ />
+ </FormCol>
+ </el-row>
+ <!-- <el-divider /> -->
+ <!-- <div class="sub-title">璁惧淇℃伅</div>
<el-row>
<FormCol>
<CompSceneDeviceInfo
@@ -33,12 +31,27 @@
:scene-type="formScene.typeid"
/>
</FormCol>
+ </el-row> -->
+ <el-divider />
+ </template>
+ <div class="sub-title">鍩烘湰淇℃伅</div>
+ <el-row>
+ <FormCol>
+ <CompSceneBaseInfo :model="formScene" />
+ </FormCol>
</el-row>
- </template>
+ <el-divider />
+ <div class="sub-title">璐︽埛淇℃伅</div>
+ <el-row>
+ <FormCol>
+ <CompUserInfo :form-info="formUser" />
+ </FormCol>
+ </el-row>
+ </el-scrollbar>
</el-dialog>
</template>
<script setup>
-import { ref } from 'vue';
+import { ref, watch } from 'vue';
import sceneApi from '@/api/fysp/sceneApi';
import userApi from '@/api/fysp/userApi';
@@ -48,11 +61,77 @@
import CompUserInfo from '../user/CompUserInfo.vue';
const props = defineProps({
+ modelValue: Boolean,
sceneId: String
});
+const emits = defineEmits(['update:modelValue']);
+
const formUser = ref({});
-const formScene = ref({});
+const formScene = ref();
const formSubScene = ref({});
const formSceneDevice = ref({});
+const loading = ref(false);
+const scrollbarRef = ref();
+
+watch(
+ () => [props.modelValue, props.sceneId],
+ (nV, oV) => {
+ if (nV[0] && nV[1]) {
+ fetchSceneInfo();
+ }
+ }
+);
+
+function handleDialogChange(value) {
+ formUser.value = {};
+ formScene.value = undefined;
+ formSubScene.value = {};
+ formSceneDevice.value = {};
+
+ emits('update:modelValue', value);
+}
+
+function fetchSceneInfo() {
+ const sid = props.sceneId;
+ loading.value = true;
+ sceneApi
+ .getSceneDetail(sid)
+ .then((res) => {
+ userApi
+ .getUserByScene(sid)
+ .then((user) => {
+ //鍦烘櫙
+ if (res.data.scense) formScene.value = res.data.scense;
+ if (res.data.subScene) {
+ formSubScene.value = res.data.subScene;
+ } else {
+ formSubScene.value = {
+ sGuid: formScene.value.guid
+ };
+ }
+ if (res.data.sceneDevice) {
+ formSceneDevice.value = res.data.sceneDevice;
+ } else {
+ formSceneDevice.value = {
+ sGuid: formScene.value.guid
+ };
+ }
+ //璐︽埛
+ if (user) {
+ formUser.value = user;
+ } else {
+ formUser.value = {
+ dguid: sid
+ };
+ }
+ })
+ .finally(() => {
+ loading.value = false;
+ scrollbarRef.value.setScrollTop(0);
+ });
+ })
+ .catch(() => (loading.value = false));
+}
</script>
+<style scoped></style>
--
Gitblit v1.9.3