在线报修修改选择项目返回问题

This commit is contained in:
zhouyanli
2026-05-14 08:30:37 +08:00
parent fa017d657f
commit c16f4f6efb
4 changed files with 34 additions and 20 deletions

View File

@@ -62,12 +62,7 @@ const selectedDoor = ref(-1) // -1表示未选中
const showSuccess = ref(false)
// 门列表数据
const doorList = ref([
// { iconText: 'http://47.104.199.163:9090/images/openDoor/westDoor.png',iconActive:"http://47.104.199.163:9090/images/openDoor/westDoorWhite.png", name: '西入门闸机' },
// { iconText: 'http://47.104.199.163:9090/images/openDoor/eastDoor.png',iconActive:"http://47.104.199.163:9090/images/openDoor/eastDoorWhite.png", name: '东入门闸机' },
// { iconText: 'http://47.104.199.163:9090/images/openDoor/unitDoor.png',iconActive:"http://47.104.199.163:9090/images/openDoor/unitDoorWhite.png", name: '1号楼1单元门' },
// { iconText: 'http://47.104.199.163:9090/images/openDoor/unitDoor.png',iconActive:"http://47.104.199.163:9090/images/openDoor/unitDoorWhite.png", name: '1号楼2单元门' }
])
const doorList = ref([])
// 选择门的方法
const selectDoor = (id) => {

View File

@@ -60,8 +60,8 @@
</view>
<!-- 上传按钮 -->
<view class="upload-btn" @click="chooseImage" v-if="form.images.length < 3">
<uni-icons type="plus" size="24"></uni-icons>
<text>上传照片</text>
<uni-icons type="plusempty" size="24"></uni-icons>
<!-- <text>上传照片</text> -->
</view>
</view>
</view>

View File

@@ -44,8 +44,8 @@
</view>
<!-- 上传按钮 -->
<view class="upload-btn" @click="chooseImage" v-if="form.images.length < 3">
<uni-icons type="plus" size="24"></uni-icons>
<text>上传照片</text>
<uni-icons type="plusempty" size="24"></uni-icons>
<!-- <text>上传照片</text> -->
</view>
</view>
</view>
@@ -57,7 +57,7 @@
<script setup>
import { ref } from 'vue'
import{onLoad} from "@dcloudio/uni-app"
import{onLoad,onUnload} from "@dcloudio/uni-app"
import { addQueryRepair, uploadFile } from '../api/api.js'
// 接收上个页面传的维修项目
@@ -72,14 +72,25 @@ const form = ref({
images: [] // 图片列表
})
// 页面加载时获取传参
// 页面加载
onLoad((options) => {
// 第一次进入页面接收参数
if (options.category && options.project) {
repairProject.value = `${options.category}-${options.project}`
}
if (options.projectId) {
projectId.value = options.projectId
}
// ✅ 监听返回选择的项目
uni.$on('selectRepairProject', (data) => {
repairProject.value = `${data.category}-${data.project}`
projectId.value = data.projectId
})
})
// ✅ 页面卸载时移除监听(必须加)
onUnload(() => {
uni.$off('selectRepairProject')
})
// 返回选择项目页

View File

@@ -91,16 +91,24 @@ const currentProjectList = computed(() => {
const selectCategory = (item) => {
activeCategory.value = item.id
}
// 选择项目并跳转到维修项目填写页
// 选择项目并返回到维修项目填写页
const selectProject = (item) => {
// 获取分类名称
const categoryName = categoryList.value.find(c => c.id === item.categoryId)?.projectName
// 跳转并传参
uni.navigateTo({
url: `/pageSubPack/online-repair/publicRepair?category=${categoryName}&project=${item.projectName}&projectId=${item.id}`
const categoryName = categoryList.value.find(c => c.id === item.categoryId)?.projectName || '';
// 用全局事件发送参数
uni.$emit('selectRepairProject', {
category: categoryName, // 分类名
project: item.projectName, // 项目名
projectId: item.id // 项目ID
})
// 返回上一页
uni.navigateBack({
delta: 1
})
}
</script>
<style scoped>