From e950c38ba82e5e6bc8b0c50c35e5dbb6a180165a Mon Sep 17 00:00:00 2001 From: 13404089107 <puwei@sinata.cn> Date: 星期二, 20 五月 2025 16:43:06 +0800 Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory --- 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