|
@@ -2,32 +2,38 @@
|
|
<div class="midd-page">
|
|
<div class="midd-page">
|
|
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
<el-tab-pane label="AED列表" name="first"> -->
|
|
<el-tab-pane label="AED列表" name="first"> -->
|
|
- <div class="header">
|
|
|
|
- <div class="h_left">
|
|
|
|
- <p class="current-doc">
|
|
|
|
- 当前数据表: {{ firstForm.currentDocument }}
|
|
|
|
- </p>
|
|
|
|
- <div class="search-box">
|
|
|
|
- <el-input
|
|
|
|
- v-model="firstForm.searchQuery"
|
|
|
|
- placeholder="请输入搜索内容"
|
|
|
|
- class="custom-search-input"
|
|
|
|
- clearable
|
|
|
|
- @clear="handleSearchClear"
|
|
|
|
- @keyup.enter.native="handleSearch"
|
|
|
|
|
|
+ <div class="header">
|
|
|
|
+ <div class="h_left">
|
|
|
|
+ <p class="current-doc">
|
|
|
|
+ <strong>当前文献</strong>:
|
|
|
|
+ <span style="color: #97a8be">{{ firstForm.currentDocument }}</span>
|
|
|
|
+ </p>
|
|
|
|
+ <div class="search-box">
|
|
|
|
+ <p>
|
|
|
|
+ <strong>所属标签</strong>:<span style="color: #97a8be">{{
|
|
|
|
+ firstForm.tag || '暂无标签'
|
|
|
|
+ }}</span>
|
|
|
|
+ </p>
|
|
|
|
+ <!-- <el-input
|
|
|
|
+ v-model="firstForm.searchQuery"
|
|
|
|
+ placeholder="请输入搜索内容"
|
|
|
|
+ class="custom-search-input"
|
|
|
|
+ clearable
|
|
|
|
+ @clear="handleSearchClear"
|
|
|
|
+ @keyup.enter.native="handleSearch"
|
|
|
|
+ >
|
|
|
|
+ <template #append>
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ icon="el-icon-search"
|
|
|
|
+ @click="handleSearch"
|
|
|
|
+ >搜索</el-button
|
|
>
|
|
>
|
|
- <template #append>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- icon="el-icon-search"
|
|
|
|
- @click="handleSearch"
|
|
|
|
- >搜索</el-button
|
|
|
|
- >
|
|
|
|
- </template>
|
|
|
|
- </el-input>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <!-- <div class="h_right">
|
|
|
|
|
|
+ </template>
|
|
|
|
+ </el-input> -->
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <div class="h_right">
|
|
<el-pagination
|
|
<el-pagination
|
|
@size-change="handleSizeChange"
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange"
|
|
@current-change="handleCurrentChange"
|
|
@@ -38,9 +44,9 @@
|
|
>
|
|
>
|
|
</el-pagination>
|
|
</el-pagination>
|
|
</div> -->
|
|
</div> -->
|
|
- </div>
|
|
|
|
- <el-table :data="firstTableData" style="width: 100%">
|
|
|
|
- <!-- <el-table-column
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <el-table :data="firstTableData" style="width: 100%">
|
|
|
|
+ <!-- <el-table-column
|
|
label="工作类型"
|
|
label="工作类型"
|
|
prop="workType"
|
|
prop="workType"
|
|
:filters="firstForm.workTypeFilters"
|
|
:filters="firstForm.workTypeFilters"
|
|
@@ -61,136 +67,130 @@
|
|
<span v-else>{{ scope.row.workType }}</span>
|
|
<span v-else>{{ scope.row.workType }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column> -->
|
|
</el-table-column> -->
|
|
- <el-table-column
|
|
|
|
- label="项目"
|
|
|
|
- prop="name"
|
|
|
|
- :filters="firstForm.projectFilters"
|
|
|
|
- :filter-method="firstFilterProject"
|
|
|
|
- filter-placement="bottom-end"
|
|
|
|
- width="140"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.name"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>{{ scope.row.name }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="说明" prop="description">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.description"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>{{ scope.row.description }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="范例" prop="example">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.example"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>
|
|
|
|
- {{ scope.row.example }}
|
|
|
|
- <i
|
|
|
|
- class="el-icon-edit"
|
|
|
|
- @click="openExampleDialog(scope.row)"
|
|
|
|
- style="cursor: pointer; margin-left: 5px"
|
|
|
|
- ></i>
|
|
|
|
- </span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- label="模型生成1"
|
|
|
|
- prop="generation_1"
|
|
|
|
- class-name="model-gen-1"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.generation_1"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>
|
|
|
|
- {{ scope.row.generation_1 }}
|
|
|
|
- <i
|
|
|
|
- class="el-icon-refresh"
|
|
|
|
- @click="openModel1Dialog(scope.row)"
|
|
|
|
- style="cursor: pointer; margin-left: 5px"
|
|
|
|
- ></i>
|
|
|
|
- </span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- label="模型生成2"
|
|
|
|
- prop="generation_2"
|
|
|
|
- class-name="model-gen-2"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.generation_2"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>
|
|
|
|
- {{ scope.row.generation_2 }}
|
|
|
|
- <i
|
|
|
|
- class="el-icon-refresh"
|
|
|
|
- @click="openModel2Dialog(scope.row)"
|
|
|
|
- style="cursor: pointer; margin-left: 5px"
|
|
|
|
- ></i>
|
|
|
|
- </span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="操作" width="100">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-dropdown trigger="click">
|
|
|
|
- <el-button
|
|
|
|
- type="text"
|
|
|
|
- size="small"
|
|
|
|
- circle
|
|
|
|
- class="operation-button"
|
|
|
|
- style="font-size: 15px; margin-left: 10px"
|
|
|
|
- icon="el-icon-more"
|
|
|
|
- ></el-button>
|
|
|
|
- <template #dropdown>
|
|
|
|
- <el-dropdown-menu>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="firstHandleEdit(scope.$index, scope.row)"
|
|
|
|
- v-if="!scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-edit"></i> 编辑
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="firstHandleSave(scope.$index, scope.row)"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-check"></i> 保存
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <!-- <el-dropdown-item
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="项目"
|
|
|
|
+ prop="name"
|
|
|
|
+ :filters="firstForm.projectFilters"
|
|
|
|
+ :filter-method="firstFilterProject"
|
|
|
|
+ filter-placement="bottom-end"
|
|
|
|
+ width="140"
|
|
|
|
+ >
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input v-model="scope.row.name" v-if="scope.row.isEdit"></el-input>
|
|
|
|
+ <span v-else>{{ scope.row.name }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="说明" prop="description">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="scope.row.description"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ ></el-input>
|
|
|
|
+ <span v-else>{{ scope.row.description }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="范例" prop="example">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="scope.row.example"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ ></el-input>
|
|
|
|
+ <span v-else>
|
|
|
|
+ {{ scope.row.example }}
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-edit"
|
|
|
|
+ @click="openExampleDialog(scope.row)"
|
|
|
|
+ style="cursor: pointer; margin-left: 5px"
|
|
|
|
+ ></i>
|
|
|
|
+ </span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="模型生成1"
|
|
|
|
+ prop="generation_1"
|
|
|
|
+ class-name="model-gen-1"
|
|
|
|
+ >
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="scope.row.generation_1"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ ></el-input>
|
|
|
|
+ <span v-else>
|
|
|
|
+ {{ scope.row.generation_1 }}
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-refresh"
|
|
|
|
+ @click="openModel1Dialog(scope.row)"
|
|
|
|
+ style="cursor: pointer; margin-left: 5px"
|
|
|
|
+ ></i>
|
|
|
|
+ </span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="模型生成2"
|
|
|
|
+ prop="generation_2"
|
|
|
|
+ class-name="model-gen-2"
|
|
|
|
+ >
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="scope.row.generation_2"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ ></el-input>
|
|
|
|
+ <span v-else>
|
|
|
|
+ {{ scope.row.generation_2 }}
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-refresh"
|
|
|
|
+ @click="openModel2Dialog(scope.row)"
|
|
|
|
+ style="cursor: pointer; margin-left: 5px"
|
|
|
|
+ ></i>
|
|
|
|
+ </span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作" width="100">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-dropdown trigger="click">
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ circle
|
|
|
|
+ class="operation-button"
|
|
|
|
+ style="font-size: 15px; margin-left: 10px"
|
|
|
|
+ icon="el-icon-more"
|
|
|
|
+ ></el-button>
|
|
|
|
+ <template #dropdown>
|
|
|
|
+ <el-dropdown-menu>
|
|
|
|
+ <el-dropdown-item
|
|
|
|
+ @click.native="firstHandleEdit(scope.$index, scope.row)"
|
|
|
|
+ v-if="!scope.row.isEdit"
|
|
|
|
+ >
|
|
|
|
+ <i class="el-icon-edit"></i> 编辑
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item
|
|
|
|
+ @click.native="firstHandleSave(scope.$index, scope.row)"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ >
|
|
|
|
+ <i class="el-icon-check"></i> 保存
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <!-- <el-dropdown-item
|
|
@click.native="firstHandleUpload(scope.$index, scope.row)"
|
|
@click.native="firstHandleUpload(scope.$index, scope.row)"
|
|
>
|
|
>
|
|
<i class="el-icon-refresh"></i> 更新内容
|
|
<i class="el-icon-refresh"></i> 更新内容
|
|
</el-dropdown-item> -->
|
|
</el-dropdown-item> -->
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="firstHandleDelete(scope.$index, scope.row)"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-delete"></i> 删除
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </template>
|
|
|
|
- </el-dropdown>
|
|
|
|
|
|
+ <el-dropdown-item
|
|
|
|
+ @click.native="firstHandleDelete(scope.$index, scope.row)"
|
|
|
|
+ >
|
|
|
|
+ <i class="el-icon-delete"></i> 删除
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ </el-dropdown-menu>
|
|
</template>
|
|
</template>
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="firstHandleAdd"
|
|
|
|
- style="margin-top: 20px"
|
|
|
|
- >新增行</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ </el-dropdown>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <el-button type="primary" @click="firstHandleAdd" style="margin-top: 20px"
|
|
|
|
+ >新增行</el-button
|
|
|
|
+ >
|
|
<!-- </el-tab-pane> -->
|
|
<!-- </el-tab-pane> -->
|
|
- <!-- <el-tab-pane label="SOTA详情" name="second">
|
|
|
|
|
|
+ <!-- <el-tab-pane label="SOTA详情" name="second">
|
|
<el-table :data="secondTableData" style="width: 100%">
|
|
<el-table :data="secondTableData" style="width: 100%">
|
|
<el-table-column
|
|
<el-table-column
|
|
label="Identifier"
|
|
label="Identifier"
|
|
@@ -390,7 +390,7 @@
|
|
>新增行</el-button
|
|
>新增行</el-button
|
|
>
|
|
>
|
|
</el-tab-pane> -->
|
|
</el-tab-pane> -->
|
|
- <!-- </el-tabs> -->
|
|
|
|
|
|
+ <!-- </el-tabs> -->
|
|
|
|
|
|
<el-dialog :visible.sync="dialogVisible" title="编辑范例" width="30%">
|
|
<el-dialog :visible.sync="dialogVisible" title="编辑范例" width="30%">
|
|
<el-input v-model="currentExample" type="textarea" :rows="4"></el-input>
|
|
<el-input v-model="currentExample" type="textarea" :rows="4"></el-input>
|
|
@@ -540,12 +540,13 @@ export default {
|
|
modelValue: "",
|
|
modelValue: "",
|
|
},
|
|
},
|
|
currentDocument: "AED数据表", // 当前文档名称
|
|
currentDocument: "AED数据表", // 当前文档名称
|
|
|
|
+ tag:[],
|
|
searchQuery: "", // 搜索关键词
|
|
searchQuery: "", // 搜索关键词
|
|
currentPage: 1, // 当前页码
|
|
currentPage: 1, // 当前页码
|
|
pageSize: 10, // 每页显示条数
|
|
pageSize: 10, // 每页显示条数
|
|
total: 3, // 总条数
|
|
total: 3, // 总条数
|
|
},
|
|
},
|
|
- /* secondForm: {
|
|
|
|
|
|
+ /* secondForm: {
|
|
tableData: [
|
|
tableData: [
|
|
{
|
|
{
|
|
workType: "SOTA-E1-01",
|
|
workType: "SOTA-E1-01",
|
|
@@ -651,12 +652,13 @@ export default {
|
|
this.updateProjectFilters();
|
|
this.updateProjectFilters();
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
- this.firstForm.currentDocument=this.$route.query.name
|
|
|
|
|
|
+ this.firstForm.currentDocument = this.$route.query.name;
|
|
|
|
+ this.firstForm.tag= JSON.parse(this.$route.query.tag).join(",")
|
|
this.firstInit();
|
|
this.firstInit();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
/* SOTA汇总表(第三) */
|
|
/* SOTA汇总表(第三) */
|
|
- /* thirdHandleEdit(index, row) {
|
|
|
|
|
|
+ /* thirdHandleEdit(index, row) {
|
|
row.isEdit = true;
|
|
row.isEdit = true;
|
|
},
|
|
},
|
|
thirdHandleSave(index, row) {
|
|
thirdHandleSave(index, row) {
|
|
@@ -694,7 +696,7 @@ export default {
|
|
}));
|
|
}));
|
|
}, */
|
|
}, */
|
|
/* SOTA数据表(第二) */
|
|
/* SOTA数据表(第二) */
|
|
- /* secondHandleEdit(index, row) {
|
|
|
|
|
|
+ /* secondHandleEdit(index, row) {
|
|
row.isEdit = true;
|
|
row.isEdit = true;
|
|
},
|
|
},
|
|
secondHandleSave(index, row) {
|
|
secondHandleSave(index, row) {
|
|
@@ -877,18 +879,121 @@ export default {
|
|
/* 获取详细信息 */
|
|
/* 获取详细信息 */
|
|
async firstInit() {
|
|
async firstInit() {
|
|
const res = await getDetail({ id: this.$route.query.id });
|
|
const res = await getDetail({ id: this.$route.query.id });
|
|
- console.log("详情数据:", res.data);
|
|
|
|
|
|
+
|
|
|
|
+ // 定义字段映射关系
|
|
|
|
+ const fieldMappings = {
|
|
|
|
+ identifier: {
|
|
|
|
+ description: "SOTA-Xx-Xx",
|
|
|
|
+ example: "文献唯一标识符",
|
|
|
|
+ },
|
|
|
|
+ literature_type: {
|
|
|
|
+ description:
|
|
|
|
+ "1-Meta-Analysis 2-Systematic Review(Systematic Review有非常严格的检索、选择、评价标准)3-Review4-Randomized Controlled Trials5-Cohort Study6-Case-Report7-Background Information/Expert Opinion8-Animal Research/Lab Studies可以从文献的:标题(1,2在标题出现的概率高),abstract,method中识别文献类型",
|
|
|
|
+ example: "第一作者",
|
|
|
|
+ },
|
|
|
|
+ first_author: {
|
|
|
|
+ description: "overall_quality",
|
|
|
|
+ example: "",
|
|
|
|
+ },
|
|
|
|
+ study_design: {
|
|
|
|
+ description: "可以从文献的method部分提取实验设计/方法可以是Randomized controlled方式.文献搜索,数据库提取文献,干预分组……",
|
|
|
|
+ example: "searched Medline, Embase, the Web of Science, and the Cochrane Library for randomized trials and observational studies",
|
|
|
|
+ },
|
|
|
|
+ population: {
|
|
|
|
+ description: "Population information; including: patient quantify(N, N of male/female); age(mean,range) Adult/children eg:60 adults with T1D (mean age 38years), 20 male",
|
|
|
|
+ example: "Type II Diabetes: n=10282 Age: ≥18 years; Naive to CGM; Between 2017 to 2019",
|
|
|
|
+ },
|
|
|
|
+ region_country: {
|
|
|
|
+ description: "患者/试验者的人种,国家地区,以查阅是否存在数据上人种差异",
|
|
|
|
+ example: "white non-hispanic: n=247; african american:n=25; hispanic or latino: n=34",
|
|
|
|
+ },
|
|
|
|
+ indication: {
|
|
|
|
+ description: "器械在文献中使用的适应症,按照器械分析,也需要添加器械使用部位以区分",
|
|
|
|
+ example: "t1d: n=191;t2d: n=152;",
|
|
|
|
+ },
|
|
|
|
+ intervention: {
|
|
|
|
+ description: "Group 1: xx; Group 2: xx 写清对照组和实验组分组的情况,如:有无干预,分适应症,分部位……",
|
|
|
|
+ example: "CGM(N=XX) vs. SMBG(N=XX); CGM (N=XX) vs. venous blood glucose test(N=XX); CGM+SMBG(N=XX) vs. SMBG(N=XX)",
|
|
|
|
+ },
|
|
|
|
+ subject_device: {
|
|
|
|
+ description: "Device name + model name 如无,可写疗法(以评价的器械所用疗法为主)",
|
|
|
|
+ example: "Dexcom G6(此处为CGM器械名字)",
|
|
|
|
+ },
|
|
|
|
+ alternative_device: {
|
|
|
|
+ description: "Device name + model name 如无,可写疗法(以评价的器械的替代疗法)",
|
|
|
|
+ example: "Capillary blood by BMG; Venous blood by YSI (此处为CGM的替代疗法)",
|
|
|
|
+ },
|
|
|
|
+ outcomes: {
|
|
|
|
+ description: "Scope: tools (follow-up); such as 'Pain: VAS (day 3)'",
|
|
|
|
+ example: "a1c;tir;tbr;tar",
|
|
|
|
+ },
|
|
|
|
+ risk_adverse_event: {
|
|
|
|
+ description: "Type of side effect",
|
|
|
|
+ example: "Serious Hypoglycemia (SH);Diabetic Ketoacidosis (DKA)",
|
|
|
|
+ },
|
|
|
|
+ follow_up: {
|
|
|
|
+ description: "随访时间",
|
|
|
|
+ example: "8 weeks",
|
|
|
|
+ },
|
|
|
|
+ clinical_benefit: {
|
|
|
|
+ description: "临床收益(文献中提到研究器械的好处,或者可以达到什么效果,可以摘抄过来可以从result,discussion中提取detailed can be refer to MEDDEV 2.7.1 rev4,b. Evaluation of the device’s benefits to the patient",
|
|
|
|
+ example: "the pediatric age span who used a CGM have improved glycemic control compared with patients who did patients who use insulin pumps along with CGM did achieve a lower HbA1c and better CGM metrics compared with the reference groups.",
|
|
|
|
+ },
|
|
|
|
+ disadvantage: {
|
|
|
|
+ description: "临床劣势(文献中提到研究器械的劣势,比如在什么情况下疗效不好)eg:导致出血,导致uncomfortable,导致预后不好……可以从result,discussion中提取",
|
|
|
|
+ example: "/",
|
|
|
|
+ },
|
|
|
|
+ conclusion: {
|
|
|
|
+ description: "结论",
|
|
|
|
+ example: "CGM use was associated with a lower HbA1c in both MDI and pump users. Pump use was only associated with a lower HbA1c if used with CGM. HCL was associated with the lowest HbA1c. Spanish language and minority race/ethnicity were associated with lower rates of pump and CGM use, highlighting the need to reduce disparities.",
|
|
|
|
+ },
|
|
|
|
+ clinical_guidelines: {
|
|
|
|
+ description: "识别文献中提到的临床实践指南",
|
|
|
|
+ example: "",
|
|
|
|
+ },
|
|
|
|
+ clinical_background: {
|
|
|
|
+ description: "描述有关器械的临床背景,包括发展的概述等",
|
|
|
|
+ example: "",
|
|
|
|
+ },
|
|
|
|
+ medical_field: {
|
|
|
|
+ description: "识别该器械是用于哪个医疗领域?例如骨科,外科,牙科,放射诊断等,包括已确定的医疗领域的历史方面的概述",
|
|
|
|
+ example: "",
|
|
|
|
+ },
|
|
|
|
+ associated_conditions: {
|
|
|
|
+ description: "1 讨论该设备拟治疗的疾病的所有方面,包括但不限于流行病学、发病机制、临床表现和共病2 临床条件的描述,如:2.1 自然病程和结果。2.2 医疗条件是否有不同的临床方式、阶段和严重性。2.3 总体人群中的频率,通过年龄、性别、种族划分,熟悉的诱因、遗传方面等。",
|
|
|
|
+ example: "",
|
|
|
|
+ },
|
|
|
|
+ suitability_criteria: {
|
|
|
|
+ description: "D1 Actual device D2 Equivalent device D3 Other device A1 Same use A2 Minor deviation A3 Major deviation P1 Applicable P2 Limited P3 Different population R1 High quality R2 Minor deficiencies R3 Insufficient information",
|
|
|
|
+ example: "D2,A1,P1,R1",
|
|
|
|
+ },
|
|
|
|
+ contribution_criteria: {
|
|
|
|
+ description: "1 Yes; 2 No T:Was the design of the study appropriate? O:Do the outcome measures reported reflect the intended purpose of the device? F:Is the duration of the follow-up long enough to access whether duration of treatment effects and identify complications? S:Has a statistical analysis of the data been provided and is it appropriate? C:Was the magnitude of the treatment effect observed clinically significant? ",
|
|
|
|
+ example: "T1,O1,F1,S1,C1",
|
|
|
|
+ },
|
|
|
|
+ oxford_evidence: {
|
|
|
|
+ description: "根据Literature type,对照Oxford Centre for Evidence-Based Medicine, Levels of Evidence (2011)填写基本level 1:Systematic review of randomized trials level 2:Randomized trial or observational study level 3:Non-randomized controlled cohort/follow-upstudy (PMS) level 4:Case report level 5:Mechanism-based reasoning",
|
|
|
|
+ example: "level 2",
|
|
|
|
+ },
|
|
|
|
+ overall_quality: {
|
|
|
|
+ description: "将前面数字加起来的总和 9-14 Accepted and Pivotal 15-23 Accepted but not Pivotal 24-27 Excluded",
|
|
|
|
+ example: "12",
|
|
|
|
+ },
|
|
|
|
+ };
|
|
|
|
|
|
// Transform data into array of objects with name property
|
|
// Transform data into array of objects with name property
|
|
- const processedData = Object.entries(res.data)
|
|
|
|
- .filter(([key]) => !["id", "create_time", "update_time"].includes(key)) // Exclude non-field properties
|
|
|
|
- .map(([key, value]) => ({
|
|
|
|
|
|
+ const processedData = Object.entries(res.data.data.datalist)
|
|
|
|
+ .filter(([key]) => !["id", "create_time", "update_time"].includes(key))
|
|
|
|
+ .map(([key]) => ({
|
|
name: key,
|
|
name: key,
|
|
- isEdit:false,
|
|
|
|
- ...value,
|
|
|
|
|
|
+ isEdit: false,
|
|
|
|
+ description: fieldMappings[key]?.description || "",
|
|
|
|
+ example: fieldMappings[key]?.example || "",
|
|
|
|
+ generation_1: "", // 为模型生成1预留空间
|
|
|
|
+ generation_2: "", // 为模型生成2预留空间
|
|
}));
|
|
}));
|
|
- console.log(processedData);
|
|
|
|
- this.firstForm.tableData=processedData;
|
|
|
|
|
|
+
|
|
|
|
+ this.firstForm.tableData = processedData;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|