|
@@ -9,10 +9,10 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="样品编号" prop="sampleInfoId">
|
|
|
+ <el-form-item label="样本编码" prop="sampleInfoId" v-if="sampleInfoId == null">
|
|
|
<el-input
|
|
|
v-model="queryParams.sampleInfoId"
|
|
|
- placeholder="请输入样品编号"
|
|
|
+ placeholder="请输入样本编码"
|
|
|
clearable
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
@@ -27,14 +27,7 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="解读或作废时间" prop="dealTime" label-width="120px">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.dealTime"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择解读或作废时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
+
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
@@ -49,99 +42,73 @@
|
|
|
icon="el-icon-plus"
|
|
|
size="mini"
|
|
|
@click="handleAdd"
|
|
|
+ v-if="sampleInfoId != null"
|
|
|
v-hasPermi="['sample:sampleExperiment:add']"
|
|
|
>新增</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
- type="success"
|
|
|
- plain
|
|
|
- icon="el-icon-edit"
|
|
|
- size="mini"
|
|
|
- :disabled="single"
|
|
|
- @click="handleUpdate"
|
|
|
- v-hasPermi="['sample:sampleExperiment:edit']"
|
|
|
- >修改</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="danger"
|
|
|
- plain
|
|
|
- icon="el-icon-delete"
|
|
|
- size="mini"
|
|
|
- :disabled="multiple"
|
|
|
- @click="handleDelete"
|
|
|
- v-hasPermi="['sample:sampleExperiment:remove']"
|
|
|
- >删除</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="warning"
|
|
|
+ v-if="sampleInfoId != null"
|
|
|
plain
|
|
|
- icon="el-icon-download"
|
|
|
size="mini"
|
|
|
- @click="handleExport"
|
|
|
- v-hasPermi="['sample:sampleExperiment:export']"
|
|
|
- >导出</el-button>
|
|
|
+ @click="handleBack"
|
|
|
+ >返回</el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="sampleExperimentList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="实验编号" align="center" prop="id" />
|
|
|
<el-table-column label="实验编码" align="center" prop="experimentCode" />
|
|
|
- <el-table-column label="样品编号" align="center" prop="sampleInfoId" />
|
|
|
+ <el-table-column label="样本编码" align="center" prop="sampleCode" />
|
|
|
<el-table-column label="状态" align="center" prop="status">
|
|
|
<template slot-scope="scope">
|
|
|
<dict-tag :options="dict.type.buss_read_type" :value="scope.row.status"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="解读或作废时间" align="center" prop="dealTime" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.dealTime, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column label="解读时间" align="center" prop="dealTime" width="180"></el-table-column>
|
|
|
+ <el-table-column label="报告生成时间" align="center" prop="generatorTime" width="180"></el-table-column>
|
|
|
<el-table-column label="备注" align="center" prop="remark" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
- v-if="scope.row.status !== 1"
|
|
|
+ v-if="scope.row.generatorStatus === 2"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
+ @click="openpdf(scope.row)"
|
|
|
>查看报告</el-button>
|
|
|
<el-button
|
|
|
- v-if="scope.row.status !== 1"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- >重新生成</el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status === 1"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
@click="handlePull(scope.row)"
|
|
|
- >生成报告</el-button>
|
|
|
+ >{{scope.row.status==1?'解读':'重新解读' }}</el-button>
|
|
|
<el-button
|
|
|
+ v-if="scope.row.status !== 1"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
@click="handleFilter(scope.row)"
|
|
|
>过滤</el-button>
|
|
|
- <!-- <el-button
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.status === 2"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="handleGenerator (scope.row)"
|
|
|
+ >{{scope.row.generatorStatus==1?'生成报告':'重新生成' }}</el-button>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.status === 1"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['sample:sampleExperiment:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
+ v-if="scope.row.status === 1"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['sample:sampleExperiment:remove']"
|
|
|
- >删除</el-button> -->
|
|
|
+ >删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -160,27 +127,6 @@
|
|
|
<el-form-item label="实验编码" prop="experimentCode">
|
|
|
<el-input v-model="form.experimentCode" placeholder="请输入实验编码" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="样品编号" prop="sampleInfoId">
|
|
|
- <el-input v-model="form.sampleInfoId" placeholder="请输入样品编号" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
- <el-select v-model="form.status" placeholder="请选择状态">
|
|
|
- <el-option
|
|
|
- v-for="dict in dict.type.buss_read_type"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="parseInt(dict.value)"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="解读或作废时间" prop="dealTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="form.dealTime"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择解读或作废时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
|
|
</el-form-item>
|
|
@@ -194,7 +140,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listSampleExperiment, getSampleExperiment, delSampleExperiment, addSampleExperiment, updateSampleExperiment,pullSampleExperiment } from "@/api/sample/sampleExperiment"
|
|
|
+import { listSampleExperiment, getSampleExperiment, delSampleExperiment, addSampleExperiment, updateSampleExperiment,pullSampleExperiment,generatorSampleExperiment } from "@/api/sample/sampleExperiment"
|
|
|
|
|
|
export default {
|
|
|
name: "SampleExperiment",
|
|
@@ -230,21 +176,34 @@ export default {
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
+ sampleInfoId:null,
|
|
|
+ baseUrl: process.env.VUE_APP_BASE_API,
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
- sampleInfoId: [
|
|
|
- { required: true, message: "样品编号不能为空", trigger: "blur" }
|
|
|
- ],
|
|
|
+ experimentCode:[ { required: true, message: "实验编码不能为空", trigger: "blur" }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ // console.log(this.$route.query.id)
|
|
|
+ this.sampleInfoId = this.$route.query.id;
|
|
|
+ this.baseid = this.$route.query.baseid;
|
|
|
this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleBack(){
|
|
|
+ const obj = { path: "/sample/sampleInfo/" + this.baseid }
|
|
|
+ this.$tab.closeOpenPage(obj);
|
|
|
+ },
|
|
|
+ openpdf(row){
|
|
|
+ window.open(this.baseUrl+'/download/'+row.generatorFile, '_blank');
|
|
|
+ },
|
|
|
/** 查询解读管理列表 */
|
|
|
getList() {
|
|
|
this.loading = true
|
|
|
+ if(this.sampleInfoId != null){
|
|
|
+ this.queryParams.sampleInfoId = this.sampleInfoId
|
|
|
+ }
|
|
|
listSampleExperiment(this.queryParams).then(response => {
|
|
|
this.sampleExperimentList = response.rows
|
|
|
this.total = response.total
|
|
@@ -300,12 +259,19 @@ export default {
|
|
|
const id = row.id || this.ids
|
|
|
getSampleExperiment(id).then(response => {
|
|
|
this.form = response.data
|
|
|
+ if(this.form.status != 1){
|
|
|
+ this.$modal.msgError("已经解读不能修改")
|
|
|
+ return;
|
|
|
+ }
|
|
|
this.open = true
|
|
|
this.title = "修改解读管理"
|
|
|
})
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
+ if(this.form.sampleInfoId == null || this.form.sampleInfoId == ''){
|
|
|
+ this.form.sampleInfoId = this.sampleInfoId
|
|
|
+ }
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
if (this.form.id != null) {
|
|
@@ -328,10 +294,19 @@ export default {
|
|
|
handlePull(row) {
|
|
|
const ids = row.id
|
|
|
pullSampleExperiment(ids).then(() => {
|
|
|
+ this.$modal.msgSuccess("解读数据成功")
|
|
|
+ this.getList()
|
|
|
+ }).catch(() => {})
|
|
|
+ },
|
|
|
+
|
|
|
+ handleGenerator(row) {
|
|
|
+ const ids = row.id
|
|
|
+ generatorSampleExperiment(ids).then(() => {
|
|
|
this.$modal.msgSuccess("生成报告成功")
|
|
|
this.getList()
|
|
|
}).catch(() => {})
|
|
|
},
|
|
|
+
|
|
|
// 过滤按钮操作
|
|
|
handleFilter(row) {
|
|
|
const id = row.id
|
|
@@ -340,18 +315,18 @@ export default {
|
|
|
/** 删除按钮操作 */
|
|
|
handleDelete(row) {
|
|
|
const ids = row.id || this.ids
|
|
|
- this.$modal.confirm('是否确认删除解读管理编号为"' + ids + '"的数据项?').then(function() {
|
|
|
- return delSampleExperiment(ids)
|
|
|
- }).then(() => {
|
|
|
- this.getList()
|
|
|
- this.$modal.msgSuccess("删除成功")
|
|
|
- }).catch(() => {})
|
|
|
- },
|
|
|
- /** 导出按钮操作 */
|
|
|
- handleExport() {
|
|
|
- this.download('sample/sampleExperiment/export', {
|
|
|
- ...this.queryParams
|
|
|
- }, `sampleExperiment_${new Date().getTime()}.xlsx`)
|
|
|
+ getSampleExperiment(ids).then(response => {
|
|
|
+ if(this.form.status != 1){
|
|
|
+ this.$modal.msgError("已经解读不能修改")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$modal.confirm('是否确认删除解读管理编号为"' + ids + '"的数据项?').then(function() {
|
|
|
+ return delSampleExperiment(ids)
|
|
|
+ }).then(() => {
|
|
|
+ this.getList()
|
|
|
+ this.$modal.msgSuccess("删除成功")
|
|
|
+ }).catch(() => {})
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|