<template>
|
<div class="list">
|
<TableCustom :queryForm="form" :tableData="tableData" :total="total" :height="null">
|
<template #search>
|
<el-form :model="form" labelWidth="auto" inline>
|
<el-form-item label="项目课题方案名称:">
|
<el-input v-model="form.projectPlan" placeholder="请输入"></el-input>
|
</el-form-item>
|
<el-form-item label="所属实验编号:">
|
<el-input v-model="form.experimentNo" placeholder="请输入"></el-input>
|
</el-form-item>
|
<el-form-item label="创建人:">
|
<el-input v-model="form.creator" 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-form-item>
|
<el-form-item label="实验名称:">
|
<el-input v-model="form.experimentName" placeholder="请输入"></el-input>
|
</el-form-item>
|
<el-form-item label="">
|
<el-button type="default" @click="resetForm">重置</el-button>
|
<el-button type="primary" style="margin-left: 10px;" @click="handleSearch">查询</el-button>
|
</el-form-item>
|
</el-form>
|
</template>
|
<template #setting>
|
<div class="tableTitle" @click="handleAdd">
|
<div class="flex a-center">
|
<div class="title active">新增检验报告</div>
|
</div>
|
</div>
|
</template>
|
<template #table>
|
<el-table-column prop="projectPlan" label="所属项目课题方案" ></el-table-column>
|
<el-table-column prop="experimentNo" label="所属实验编号" ></el-table-column>
|
<el-table-column prop="experimentName" label="实验名称" ></el-table-column>
|
<el-table-column prop="createTime" label="创建时间" ></el-table-column>
|
<el-table-column prop="creator" label="创建人" ></el-table-column>
|
<el-table-column prop="status" label="状态" >
|
<template slot-scope="scope">
|
<el-tag :type="scope.row.status === '待提交' ? 'warning' : 'success'">
|
{{ scope.row.status }}
|
</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作">
|
<template slot-scope="scope">
|
<el-button type="text" @click="handleSubmit(scope.row)">提交</el-button>
|
<el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
|
</template>
|
</el-table-column>
|
</template>
|
</TableCustom>
|
</div>
|
</template>
|
|
<script>
|
import store from '../../../store';
|
export default {
|
name: "OriginalRecordTest",
|
data() {
|
return {
|
form: {
|
projectPlan: "",
|
experimentNo: "",
|
creator: "",
|
createTime: [],
|
experimentName: ""
|
},
|
tableData: [
|
{
|
id: '1',
|
projectPlan: '名称名称名称',
|
experimentNo: '31423764',
|
experimentName: '名称名称名称',
|
creator: '张三',
|
createTime: '2024-01-08',
|
status: '待提交'
|
}
|
],
|
total: 5
|
};
|
},
|
created() {
|
this.getTableData();
|
},
|
methods: {
|
resetForm() {
|
this.form = {
|
projectPlan: "",
|
experimentNo: "",
|
creator: "",
|
createTime: [],
|
experimentName: ""
|
};
|
},
|
handleSearch() {
|
this.getTableData();
|
},
|
handleAdd(){
|
this.$router.push({
|
path: "/dataManagement/inspectionReport/detail",
|
query: {
|
type: 'add'
|
}
|
});
|
},
|
handleEdit(row) {
|
this.$router.push({
|
path: "/dataManagement/inspectionReport/detail",
|
query: {
|
id: row.id,
|
type: 'edit'
|
}
|
});
|
},
|
handleSubmit(row) {
|
this.$confirm('确认提交该检验报告?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
// TODO: 调用提交接口
|
this.$message({
|
type: 'success',
|
message: '提交成功!'
|
});
|
this.getTableData();
|
}).catch(() => {
|
this.$message({
|
type: 'info',
|
message: '已取消提交'
|
});
|
});
|
},
|
getTableData() {
|
this.tableData = [
|
{
|
id: '1',
|
projectPlan: '名称名称名称',
|
experimentNo: '31423764',
|
experimentName: '名称名称名称',
|
creator: '张三',
|
createTime: '2024-01-08',
|
status: '待提交'
|
},
|
{
|
id: '2',
|
projectPlan: '项目方案2',
|
experimentNo: '31423765',
|
experimentName: '实验名称2',
|
creator: '李四',
|
createTime: '2024-01-09',
|
status: '已提交'
|
}
|
];
|
this.total = this.tableData.length;
|
}
|
}
|
};
|
</script>
|
|
<style scoped lang="less">
|
.list {
|
height: 100%;
|
}
|
.flex {
|
display: flex;
|
align-items: center;
|
}
|
.tableTitle {
|
display: flex;
|
padding-bottom: 20px;
|
justify-content: space-between;
|
align-items: center;
|
cursor: pointer;
|
.title {
|
background: #fafafc;
|
border-radius: 8px 8px 0px 0px;
|
border: 1px solid #dcdfe6;
|
padding: 16px 29px;
|
font-weight: bold;
|
font-size: 18px;
|
color: #606266;
|
width: unset;
|
}
|
.active {
|
color: #049c9a;
|
background: #ffffff;
|
border-radius: 8px 8px 0px 0px;
|
border: 1px solid #049c9a;
|
}
|
}
|
</style>
|