From 527efb36f35b471710e445972673abff45bacdac Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期五, 12 九月 2025 17:36:09 +0800
Subject: [PATCH] 401跳转登录
---
laboratory/src/components/DynamicComponent/addTableHeader.vue | 98 +++++++++++++++++++++---------------------------
1 files changed, 43 insertions(+), 55 deletions(-)
diff --git a/laboratory/src/components/DynamicComponent/addTableHeader.vue b/laboratory/src/components/DynamicComponent/addTableHeader.vue
index 5758d3f..b8697d9 100644
--- a/laboratory/src/components/DynamicComponent/addTableHeader.vue
+++ b/laboratory/src/components/DynamicComponent/addTableHeader.vue
@@ -1,59 +1,40 @@
<template>
- <el-dialog
- title="新增表头"
- :visible.sync="dialogVisible"
- width="30%"
- :close-on-click-modal="false"
- @close="handleClose"
- >
+ <el-dialog title="新增表头" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false" @close="handleClose">
<div class="sample-dialog">
<div class="sample-content">
<div class="form-content">
<el-form ref="form" :model="form" :rules="rules" label-position="top">
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="表头名称" prop="sampleCode">
- <el-input
- v-model="form.name"
- style="width: 100%"
- placeholder="请输入表头名称"
- />
+ <el-form-item label="表头名称" prop="name">
+ <el-input v-model="form.name" style="width: 100%" placeholder="请输入表头名称" />
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="表头类型" prop="sampleCode">
+ <el-form-item label="表头类型" prop="type">
<el-radio-group v-model="form.type" style="width: 100%">
- <el-radio-button label="text">文本框</el-radio-button>
+ <el-radio-button label="text">文本框</el-radio-button>
<el-radio-button label="image">图片上传</el-radio-button>
- <el-radio-button label="date">日期选择</el-radio-button>
- <el-radio-button label="user">人员选择</el-radio-button>
+ <el-radio-button label="date">日期选择</el-radio-button>
+ <el-radio-button label="user">人员选择</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="操作权限" prop="sampleCode">
+ <el-form-item label="操作权限" prop="role">
<el-select v-model="form.role" placeholder="请选择" style="width: 100%" multiple>
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="24">
- <el-form-item label="提示文案" prop="sampleCode">
- <el-input
- v-model="form.message"
- style="width: 100%"
- placeholder="请输入提示文案"
- />
+ <el-col :span="24" v-if="['text', 'date', 'user'].includes(form.type)">
+ <el-form-item label="提示文案" prop="message">
+ <el-input v-model="form.message" style="width: 100%" placeholder="请输入提示文案" />
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="是否必填" prop="testTypes">
+ <el-form-item label="是否必填" prop="required">
<el-radio-group v-model="form.required">
<el-radio label="true">是</el-radio>
<el-radio label="false">否</el-radio>
@@ -71,7 +52,7 @@
</div>
</el-dialog>
</template>
-
+
<script>
export default {
name: "AddDialog",
@@ -80,6 +61,10 @@
type: Boolean,
default: false,
},
+ participants: {
+ type: Array,
+ default: () => []
+ }
},
data() {
return {
@@ -102,13 +87,13 @@
{
type: "array",
required: true,
- message: "请至少选择一种检测类型",
+ message: "请至少选择一个操作人",
trigger: "change",
},
],
message: [
{
- required: true,
+ required: false,
message: "请输入提示文案",
trigger: "blur",
},
@@ -121,23 +106,7 @@
},
],
},
- options: [{
- value: '1',
- label: '黄金糕'
- }, {
- value: '2',
- label: '双皮奶'
- }, {
- value: '3',
- label: '蚵仔煎'
- }, {
- value: '4',
- label: '龙须面'
- }, {
- value: '5',
- label: '北京烤鸭'
- }],
- value: ''
+ value: ''
};
},
computed: {
@@ -149,10 +118,20 @@
this.$emit("update:visible", val);
},
},
+ options() {
+ // 将participants转换为select组件需要的格式
+ let userId = JSON.parse(sessionStorage.getItem('userInfo'))?.userId
+ let nickName = JSON.parse(sessionStorage.getItem('userInfo'))?.nickName
+ let newList = JSON.parse(JSON.stringify(this.participants))
+ newList.push({ userId, nickName })
+ return newList.map(participant => ({
+ value: participant.userId,
+ label: participant.nickName
+ }));
+ }
},
mounted() {
// 组件挂载时的初始化逻辑
- console.log('组件已挂载');
},
methods: {
setFormData(data) {
@@ -179,6 +158,12 @@
};
},
handleSubmit() {
+ // 对于需要提示文案的类型,添加额外验证
+ if (['text', 'date', 'user'].includes(this.form.type) && !this.form.message) {
+ this.$message.error('请输入提示文案');
+ return;
+ }
+
this.$refs.form.validate((valid) => {
if (valid) {
const submitData = {
@@ -191,7 +176,7 @@
},
};
</script>
-
+
<style scoped lang="less">
::v-deep .el-dialog__body {
padding: 0;
@@ -334,12 +319,15 @@
.el-upload-list {
margin-top: 10px;
}
+
.el-upload-list__item {
transition: all 0.3s;
+
&:hover {
background-color: #f5f7fa;
}
}
+
.el-upload__tip {
color: #909399;
font-size: 12px;
@@ -347,4 +335,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
\ No newline at end of file
--
Gitblit v1.7.1