feat:菜单可配置

This commit is contained in:
houjunxiang
2025-11-27 16:12:25 +08:00
parent f3c15b3692
commit 6c86dc0760
46 changed files with 79 additions and 162 deletions

View File

@@ -0,0 +1,130 @@
<template>
<up-popup :show="visible" mode="right" closeable @close="handleClose" @open="handleOpen">
<uni-section titleFontSize="20px" type="line" title="设备维修单"> </uni-section>
<scroll-view scroll-y="true" class="content">
<up-row class="flex-wrap">
<up-col :span="gridCol"
>设备名称
<text class="value">{{ detailInfo.deviceName }}</text>
</up-col>
<up-col span="4"
>别名
<text class="value">{{ detailInfo.alias }}</text>
</up-col>
<up-col span="4"
>设备编号
<text class="value">{{ detailInfo.deviceCode }}</text>
</up-col>
<up-col :span="gridCol"
>生产厂家
<text class="value">{{ detailInfo.manufacturer }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="6"
>使用部门
<text class="value">{{ detailInfo.deviceDeptName }}</text>
</up-col>
<up-col span="6"
>设备负责人
<text class="value">{{ detailInfo.deviceManagerUserName }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="12"
>故障分析及处理方案
<text class="value">{{ detailInfo.repairAnalysis }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="12"
>故障判定
<text class="value">{{ detailInfo.repairDetermine }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="12"
>维修事项及配件更换
<text class="value">{{ detailInfo.repairContent }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="12"
>维修后仪器设备状态
<text class="value">{{ detailInfo.repairResult }}</text>
</up-col>
</up-row>
<up-row>
<up-col span="12"
>备注
<text class="value">{{ detailInfo.remark }}</text>
</up-col>
</up-row>
<wf-comment :commentWf="commentWf" />
</scroll-view>
</up-popup>
</template>
<script setup>
import { ref, reactive, onMounted, watch, computed } from 'vue'
import { useGridCol } from '@/nx/hooks/useGridCol'
const { gridCol } = useGridCol([700], [6, 4])
const props = defineProps({
show: {
type: Boolean,
default: false
},
checkInfo: {
type: Object
}
})
const visible = ref(props.show)
// 监听外部传入的show属性变化
watch(
() => props.show,
newVal => {
visible.value = newVal
}
)
let detailInfo = ref({})
const emit = defineEmits(['close', 'open'])
function handleClose() {
emit('close')
}
let commentWf = ref({})
function handleOpen() {
detailInfo.value = props.checkInfo
if (props.checkInfo.commentJson) {
try {
commentWf.value = JSON.parse(props.checkInfo.commentJson)
} catch (error) {
uni.showToast({
title: '解析数据错误',
icon: 'none'
})
}
}
}
</script>
<style lang="scss" scoped>
.content {
font-size: 18px;
height: 80vh;
width: 80vw;
padding: 20px;
.u-row {
border-bottom: 1px solid #eee;
padding: 10px 0;
}
.value {
color: #666;
font-size: 16px;
}
}
:deep(.uicon-close) {
font-size: 22px !important;
}
</style>