From d1ce79c837650689ab47bbf587d076743fcb3a5f Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 19 五月 2025 17:25:38 +0800 Subject: [PATCH] 1. 问题审核界面新增场景信息编辑入口 2. 问题审核界面场景图片查询新增图片类型修改功能 --- 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