From 6565eb74d006296fe67a386e1c48abdb0f2fe7c2 Mon Sep 17 00:00:00 2001 From: pyt <626651354@qq.com> Date: 星期一, 12 五月 2025 09:21:32 +0800 Subject: [PATCH] feat --- laboratory/src/views/dataManagement/confirmation-sheet/index.vue | 128 ++++++++++++++++++++++++++++-------------- 1 files changed, 86 insertions(+), 42 deletions(-) diff --git a/laboratory/src/views/dataManagement/confirmation-sheet/index.vue b/laboratory/src/views/dataManagement/confirmation-sheet/index.vue index df1403c..4f9ef86 100644 --- a/laboratory/src/views/dataManagement/confirmation-sheet/index.vue +++ b/laboratory/src/views/dataManagement/confirmation-sheet/index.vue @@ -4,22 +4,27 @@ <template #search> <el-form :model="form" label-width="140px" inline> <el-form-item label="所属项目课题方案:"> - <el-input v-model="form.planName" placeholder="请输入"></el-input> + <el-input v-model="form.projectName" placeholder="请输入"></el-input> </el-form-item> <el-form-item label="实验编号:"> - <el-input v-model="form.planCode" placeholder="请输入"></el-input> + <el-input v-model="form.experimentCode" placeholder="请输入"></el-input> </el-form-item> - <el-form-item label="创建人:"> - <el-input v-model="form.creator" placeholder="请输入"></el-input> + <el-form-item label="实验名称:"> + <el-input v-model="form.experimentName" placeholder="请输入"></el-input> </el-form-item> <el-form-item label="通知时间:"> - <el-date-picker v-model="form.createTime" type="daterange" range-separator="至" - start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"></el-date-picker> + <el-date-picker v-model="dateRange" type="daterange" range-separator="至" + start-placeholder="开始日期" end-placeholder="结束日期" + value-format="yyyy-MM-dd" + @change="handleDateChange"></el-date-picker> </el-form-item> - <el-form-item label="状态:"> - <el-select v-model="form.status" placeholder="请选择"> - <el-option label="待确认" value="待确认"></el-option> - <el-option label="已确认" value="已确认"></el-option> + <el-form-item label="状态:" v-if="!isDrafts"> + <el-select v-model="form.auditStatus" placeholder="请选择"> + <el-option label="待确认" :value="1"></el-option> + <el-option label="已通过" :value="2"></el-option> + <el-option label="已驳回" :value="3"></el-option> + <el-option label="已撤回" :value="4"></el-option> + <el-option label="已封存" :value="5"></el-option> </el-select> </el-form-item> <el-form-item label="" class="search-btn-box"> @@ -30,9 +35,9 @@ </template> <template #setting> <div class="tableTitle"> - <div class="flex a-center"> - <div class="title pointer">检验方法确认单列表</div> - <div class="drafts pointer">草稿箱</div> + <div class="flex a-center" style="gap: 16px;"> + <div class="title pointer" :class="{ active: !isDrafts }" @click="switchToDrafts(false)">检验方法确认单列表</div> + <div class="drafts pointer" :class="{ active: isDrafts }" @click="switchToDrafts(true)">草稿箱</div> </div> <el-button @click="handleAddPlan" class="el-icon-plus" type="primary"> 新增检测方法确认单</el-button> @@ -68,6 +73,7 @@ <script> import reviewDialog from './components/review-dialog.vue'; +import { getList } from './service' export default { name: "ConfirmationSheet", components: { @@ -76,40 +82,76 @@ data() { return { form: { - planName: "", - planCode: "", - creator: "", - createTime: [], - approver: "", - status: "", + pageNum: 1, + pageSize: 10, + projectName: "", + experimentCode: "", + experimentName: "", + startTime: "", + endTime: "", + auditStatus: "", }, - showRevoke:false, + dateRange: [], + isDrafts: false, + showRevoke: false, tableData: [], total: 0, - editorContent: '', // 编辑器内容 - reviewDialogVisible: true, + editorContent: '', + reviewDialogVisible: false, dialogType: 'review', currentRow: {}, sampleData: [], }; }, mounted() { - + this.getTableData(); }, methods: { + async getTableData() { + try { + const params = { ...this.form }; + if (this.isDrafts) { + params.auditStatus = -1; + } + const res = await getList(params); + if (res.code === 200) { + this.tableData = res.data.list || []; + this.total = res.data.total || 0; + } + } catch (error) { + console.error('获取列表数据失败:', error); + } + }, + handleDateChange(val) { + if (val) { + this.form.startTime = val[0]; + this.form.endTime = val[1]; + } else { + this.form.startTime = ''; + this.form.endTime = ''; + } + }, resetForm() { this.form = { - planName: "", - planCode: "", - creator: "", - createTime: [], - approver: "", - status: "", + pageNum: 1, + pageSize: 10, + projectName: "", + experimentCode: "", + experimentName: "", + startTime: "", + endTime: "", + auditStatus: "", }; + this.dateRange = []; + this.getTableData(); }, handleSearch() { - // 实现查询逻辑 - console.log("查询条件:", this.form); + this.form.pageNum = 1; + this.getTableData(); + }, + switchToDrafts(isDrafts) { + this.isDrafts = isDrafts; + this.resetForm(); }, getStatusType(status) { const statusMap = { @@ -182,27 +224,29 @@ padding-bottom: 20px; justify-content: space-between; align-items: center; - - .title { + .title, .drafts { background: #ffffff; border-radius: 8px 8px 0px 0px; - border: 1px solid #049c9a; padding: 16px 29px; font-weight: bold; font-size: 18px; - color: #049c9a; + background: #fafafc; + border: 1px solid #dcdfe6; + color: #606266; width: unset; + + &.active { + background: #ffffff; + border: 1px solid #049c9a !important; + color: #049c9a; + } } .drafts { padding: 16px 65px; - background: #fafafc; - border-radius: 8px 8px 0px 0px; - border: 1px solid #dcdfe6; - font-weight: 400; - font-size: 18px; - color: #606266; - margin-left: 16px; + &:not(.active) { + + } } } -- Gitblit v1.7.1