设备类型报告模版只在楼下厂家展示

This commit is contained in:
sjl
2025-05-06 10:08:57 +08:00
parent fe6524404c
commit cf77572f41
3 changed files with 22 additions and 10 deletions

View File

@@ -84,6 +84,7 @@ const modeList = [
const handelOpen = async (item: any) => {
modeStore.setCurrentMode(item.code); // 将模式code存入 store
const {data:scene} = await getCurrentScene(); // 获取当前场景
// AppSceneStore.setCurrentMode(scene+'');//0省级平台1设备出厂2研发自测
AppSceneStore.setCurrentMode(scene+'');//0省级平台1设备出厂2研发自测
await authStore.setShowMenu();

View File

@@ -46,7 +46,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="报告模版名称" prop="reportName" >
<el-form-item label="报告模版名称" prop="reportName" v-if="scene == '1'">
<el-select v-model="formContent.reportName" clearable placeholder="请选择报告模版">
<el-option
v-for="item in dictStore.getDictData('Report_Template')"
@@ -93,6 +93,7 @@
const dictStore = useDictStore()
// 定义弹出组件元信息
const dialogFormRef = ref()
const scene = ref('')
const icdOptions = ref<ICD.ResICD[]>([])
function useMetaInfo() {
const dialogVisible = ref(false)
@@ -138,8 +139,19 @@ const resetFormContent = () => {
//定义规则
const formRuleRef = ref<FormInstance>()
// 使用计算属性根据 scene 动态生成规则
const rules = computed(() => {
const dynamicRules = { ...baseRules };
if (scene.value === '1'){//只有楼下出厂需要展示
dynamicRules.reportName = [{ required: true, message: '报告模版名称必选!', trigger: 'change' }];
}
return dynamicRules;
});
//定义校验规则
const rules: Ref<Record<string, Array<FormItemRule>>> = ref({
const baseRules: Record<string, Array<FormItemRule>> = {
name: [{ required: true, message: '设备类型名称必填!', trigger: 'blur' }],
power: [
{ required: true, message: '工作电源必选!', trigger: 'change' }
@@ -153,13 +165,10 @@ const resetFormContent = () => {
devCurr: [
{ required: true, message: '额定电流必选!', trigger: 'change' }
],
reportName: [
{ required: true, message: '报告模版名称必选!', trigger: 'change' }
],
icd: [
{ required: true, message: '设备关联ICD必选', trigger: 'change' }
],
})
]
};
// 关闭弹窗
@@ -193,12 +202,12 @@ const close = () => {
}
// 打开弹窗,可能是新增,也可能是编辑
const open = async (sign: string, data: DevType.ResPqDevType,icd: ICD.ResICD[]) => {
const open = async (sign: string, data: DevType.ResPqDevType,icd: ICD.ResICD[],currentScene: string) => {
// 重置表单
dialogFormRef.value?.resetFields()
titleType.value = sign
dialogVisible.value = true
scene.value = currentScene
icdOptions.value = icd
if (data.id) {

View File

@@ -51,6 +51,7 @@ import type { ICD } from '@/api/device/interface/icd'
// })
const modeStore = useModeStore()
const dictStore = useDictStore()
const appSceneStore = useAppSceneStore()
// ProTable 实例
const proTable = ref<ProTableInstance>()
const devTypePopup = ref()
@@ -96,6 +97,7 @@ import type { ICD } from '@/api/device/interface/icd'
prop: 'reportName',
label: '报告模版名称',
minWidth: 150,
isShow: appSceneStore.currentScene == '1',
enum: dictStore.getDictData('Report_Template'),
fieldNames: { label: 'name', value: 'id' },
},
@@ -134,7 +136,7 @@ import type { ICD } from '@/api/device/interface/icd'
// 打开 drawer(新增、编辑)
const openDialog = (titleType: string, row: Partial<DevType.ResPqDevType> = {}) => {
devTypePopup.value?.open(titleType, row,icdOptions.value)
devTypePopup.value?.open(titleType, row,icdOptions.value,appSceneStore.currentScene)
}