|
@@ -1,7 +1,5 @@
|
|
<template>
|
|
<template>
|
|
<div class="midd-page">
|
|
<div class="midd-page">
|
|
- <!-- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
|
- <el-tab-pane label="AED列表" name="first"> -->
|
|
|
|
<div class="header">
|
|
<div class="header">
|
|
<div class="h_left">
|
|
<div class="h_left">
|
|
<p class="current-doc">
|
|
<p class="current-doc">
|
|
@@ -10,40 +8,20 @@
|
|
</p>
|
|
</p>
|
|
<div class="search-box">
|
|
<div class="search-box">
|
|
<p>
|
|
<p>
|
|
- <strong>所属标签</strong>:<span style="color: #97a8be">{{
|
|
|
|
|
|
+ <strong>所属标签</strong>:
|
|
|
|
+ <el-tag
|
|
|
|
+ v-for="(item, index) in firstForm.tag"
|
|
|
|
+ :key="index"
|
|
|
|
+ type=""
|
|
|
|
+ :style="index !== 0 ? 'margin-left: 5px;' : ''"
|
|
|
|
+ >
|
|
|
|
+ {{ item }} </el-tag
|
|
|
|
+ ><!-- <span style="color: #97a8be">{{
|
|
firstForm.tag || '暂无标签'
|
|
firstForm.tag || '暂无标签'
|
|
- }}</span>
|
|
|
|
|
|
+ }}</span> -->
|
|
</p>
|
|
</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>
|
|
|
|
- </el-input> -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <!-- <div class="h_right">
|
|
|
|
- <el-pagination
|
|
|
|
- @size-change="handleSizeChange"
|
|
|
|
- @current-change="handleCurrentChange"
|
|
|
|
- :current-page="firstForm.currentPage"
|
|
|
|
- :page-size="firstForm.pageSize"
|
|
|
|
- layout="total, prev, pager, next"
|
|
|
|
- :total="firstForm.total"
|
|
|
|
- >
|
|
|
|
- </el-pagination>
|
|
|
|
- </div> -->
|
|
|
|
</div>
|
|
</div>
|
|
<el-table :data="firstTableData" style="width: 100%">
|
|
<el-table :data="firstTableData" style="width: 100%">
|
|
<!-- <el-table-column
|
|
<!-- <el-table-column
|
|
@@ -69,34 +47,39 @@
|
|
</el-table-column> -->
|
|
</el-table-column> -->
|
|
<el-table-column
|
|
<el-table-column
|
|
label="项目"
|
|
label="项目"
|
|
- prop="name"
|
|
|
|
|
|
+ prop=""
|
|
:filters="firstForm.projectFilters"
|
|
:filters="firstForm.projectFilters"
|
|
:filter-method="firstFilterProject"
|
|
:filter-method="firstFilterProject"
|
|
filter-placement="bottom-end"
|
|
filter-placement="bottom-end"
|
|
width="140"
|
|
width="140"
|
|
- >
|
|
|
|
|
|
+ ><!-- name -->
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-input v-model="scope.row.name" v-if="scope.row.isEdit"></el-input>
|
|
|
|
- <span v-else>{{ scope.row.name }}</span>
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="scope.row.project_name"
|
|
|
|
+ v-if="scope.row.isEdit"
|
|
|
|
+ ></el-input>
|
|
|
|
+ <span v-else>{{ scope.row.project_name }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="说明" prop="description">
|
|
|
|
|
|
+ <el-table-column label="说明" prop="project_description"
|
|
|
|
+ ><!-- description -->
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input
|
|
<el-input
|
|
- v-model="scope.row.description"
|
|
|
|
|
|
+ v-model="scope.row.project_description"
|
|
v-if="scope.row.isEdit"
|
|
v-if="scope.row.isEdit"
|
|
></el-input>
|
|
></el-input>
|
|
- <span v-else>{{ scope.row.description }}</span>
|
|
|
|
|
|
+ <span v-else>{{ scope.row.project_description }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="范例" prop="example">
|
|
|
|
|
|
+ <el-table-column label="范例" prop="project_example"
|
|
|
|
+ ><!-- example -->
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input
|
|
<el-input
|
|
- v-model="scope.row.example"
|
|
|
|
|
|
+ v-model="scope.row.project_example"
|
|
v-if="scope.row.isEdit"
|
|
v-if="scope.row.isEdit"
|
|
></el-input>
|
|
></el-input>
|
|
<span v-else>
|
|
<span v-else>
|
|
- {{ scope.row.example }}
|
|
|
|
|
|
+ {{ scope.row.project_example }}
|
|
<i
|
|
<i
|
|
class="el-icon-edit"
|
|
class="el-icon-edit"
|
|
@click="openExampleDialog(scope.row)"
|
|
@click="openExampleDialog(scope.row)"
|
|
@@ -170,7 +153,12 @@
|
|
>
|
|
>
|
|
<i class="el-icon-check"></i> 保存
|
|
<i class="el-icon-check"></i> 保存
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
- <!-- <el-dropdown-item
|
|
|
|
|
|
+ <el-dropdown-item
|
|
|
|
+ @click.native="firstHandleConfig(scope.$index, scope.row)"
|
|
|
|
+ >
|
|
|
|
+ <i class="el-icon-refresh"></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> 更新内容
|
|
@@ -186,211 +174,6 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <el-button type="primary" @click="firstHandleAdd" style="margin-top: 20px"
|
|
|
|
- >新增行</el-button
|
|
|
|
- >
|
|
|
|
- <!-- </el-tab-pane> -->
|
|
|
|
- <!-- <el-tab-pane label="SOTA详情" name="second">
|
|
|
|
- <el-table :data="secondTableData" style="width: 100%">
|
|
|
|
- <el-table-column
|
|
|
|
- label="Identifier"
|
|
|
|
- prop="workType"
|
|
|
|
- :filters="secondForm.workTypeFilters"
|
|
|
|
- :filter-method="secondFilterWorkType"
|
|
|
|
- filter-placement="bottom-end"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-select
|
|
|
|
- v-model="scope.row.workType"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <el-option label="类型1" value="type1"></el-option>
|
|
|
|
- <el-option label="类型2" value="type2"></el-option>
|
|
|
|
- <el-option label="类型3" value="type3"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <span v-else>{{ scope.row.workType }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- label="Device"
|
|
|
|
- prop="project"
|
|
|
|
- :filters="secondForm.projectFilters"
|
|
|
|
- :filter-method="secondFilterProject"
|
|
|
|
- filter-placement="bottom-end"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.project"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>{{ scope.row.project }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="Outcomes" 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="Unit for analysis" 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 }}
|
|
|
|
- </span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="Mean" 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="操作" 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="secondHandleEdit(scope.$index, scope.row)"
|
|
|
|
- v-if="!scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-edit"></i> 编辑
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="secondHandleSave(scope.$index, scope.row)"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-check"></i> 保存
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="
|
|
|
|
- secondHandleDelete(scope.$index, scope.row)
|
|
|
|
- "
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-delete"></i> 删除
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </template>
|
|
|
|
- </el-dropdown>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="secondHandleAdd"
|
|
|
|
- style="margin-top: 20px"
|
|
|
|
- >新增行</el-button
|
|
|
|
- >
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane label="SOTA汇总表" name="third">
|
|
|
|
- <el-table :data="thirdTableData" style="width: 100%">
|
|
|
|
- <el-table-column
|
|
|
|
- label="Summary"
|
|
|
|
- prop="workType"
|
|
|
|
- :filters="thirdForm.workTypeFilters"
|
|
|
|
- :filter-method="thirdFilterWorkType"
|
|
|
|
- filter-placement="bottom-end"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-select
|
|
|
|
- v-model="scope.row.workType"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <el-option label="类型1" value="type1"></el-option>
|
|
|
|
- <el-option label="类型2" value="type2"></el-option>
|
|
|
|
- <el-option label="类型3" value="type3"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <span v-else>{{ scope.row.workType }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- label="EqMD"
|
|
|
|
- prop="project"
|
|
|
|
- :filters="thirdForm.projectFilters"
|
|
|
|
- :filter-method="thirdFilterProject"
|
|
|
|
- filter-placement="bottom-end"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input
|
|
|
|
- v-model="scope.row.project"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- ></el-input>
|
|
|
|
- <span v-else>{{ scope.row.project }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="Pain:VAS" 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="操作" 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="thirdHandleEdit(scope.$index, scope.row)"
|
|
|
|
- v-if="!scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-edit"></i> 编辑
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="thirdHandleSave(scope.$index, scope.row)"
|
|
|
|
- v-if="scope.row.isEdit"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-check"></i> 保存
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- @click.native="thirdHandleDelete(scope.$index, scope.row)"
|
|
|
|
- >
|
|
|
|
- <i class="el-icon-delete"></i> 删除
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </template>
|
|
|
|
- </el-dropdown>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="thirdHandleAdd"
|
|
|
|
- style="margin-top: 20px"
|
|
|
|
- >新增行</el-button
|
|
|
|
- >
|
|
|
|
- </el-tab-pane> -->
|
|
|
|
- <!-- </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>
|
|
@@ -414,8 +197,12 @@
|
|
placeholder="请选择应用"
|
|
placeholder="请选择应用"
|
|
disabled
|
|
disabled
|
|
>
|
|
>
|
|
- <el-option label="应用1" value="app1"></el-option>
|
|
|
|
- <el-option label="应用2" value="app2"></el-option>
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in configArr"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="item.chat_name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
@@ -424,7 +211,7 @@
|
|
<el-input-number
|
|
<el-input-number
|
|
v-model="firstForm.firstAiForm.wordCount"
|
|
v-model="firstForm.firstAiForm.wordCount"
|
|
:min="1"
|
|
:min="1"
|
|
- :max="1000"
|
|
|
|
|
|
+ :max="9999"
|
|
placeholder="请输入字数限制"
|
|
placeholder="请输入字数限制"
|
|
>
|
|
>
|
|
</el-input-number>
|
|
</el-input-number>
|
|
@@ -466,17 +253,108 @@
|
|
|
|
|
|
<template #footer>
|
|
<template #footer>
|
|
<span class="dialog-footer">
|
|
<span class="dialog-footer">
|
|
|
|
+ <el-button @click="saveConfig">保存配置</el-button>
|
|
<el-button @click="generateContent">生成内容</el-button>
|
|
<el-button @click="generateContent">生成内容</el-button>
|
|
<el-button @click="firstForm.dialogVisible = false">取消</el-button>
|
|
<el-button @click="firstForm.dialogVisible = false">取消</el-button>
|
|
<el-button type="primary" @click="firstSaveExample">确定</el-button>
|
|
<el-button type="primary" @click="firstSaveExample">确定</el-button>
|
|
</span>
|
|
</span>
|
|
</template>
|
|
</template>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <!-- 配置生成 -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ :visible.sync="firstForm.configVisible"
|
|
|
|
+ title="配置模型"
|
|
|
|
+ width="40%"
|
|
|
|
+ >
|
|
|
|
+ <el-form :model="firstForm.configForm" label-width="120px">
|
|
|
|
+ <el-form-item label="模型1">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="firstForm.configForm.model_a_config"
|
|
|
|
+ placeholder="请选择应用"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in configArr"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="item.chat_name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="模型2">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="firstForm.configForm.model_b_config"
|
|
|
|
+ placeholder="请选择应用"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in configArr"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="item.chat_name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <!-- 字数限制 -->
|
|
|
|
+ <el-form-item label="MAX-token数">
|
|
|
|
+ <el-input-number
|
|
|
|
+ v-model="firstForm.configForm.max_tokens"
|
|
|
|
+ :min="1"
|
|
|
|
+ :max="2048"
|
|
|
|
+ placeholder="请输入字数限制"
|
|
|
|
+ >
|
|
|
|
+ </el-input-number>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <!-- 说明 -->
|
|
|
|
+ <el-form-item label="说明">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="firstForm.configForm.project_description"
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="2"
|
|
|
|
+ placeholder="请输入说明"
|
|
|
|
+ >
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <!-- 提示词 -->
|
|
|
|
+ <el-form-item label="提示词">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="firstForm.configForm.project_name"
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="3"
|
|
|
|
+ placeholder="请输入提示词"
|
|
|
|
+ >
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <!-- 生成方法 -->
|
|
|
|
+ <el-form-item label="生成方法">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="firstForm.configForm.generation_method"
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="3"
|
|
|
|
+ placeholder="请输入生成方法"
|
|
|
|
+ >
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <template #footer>
|
|
|
|
+ <span class="dialog-footer">
|
|
|
|
+ <el-button @click="firstForm.dialogVisible = false">取消</el-button>
|
|
|
|
+ <el-button @click="saveConfig" type="primary">保存配置</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { getDetail } from "@/api/knowledge";
|
|
|
|
|
|
+import {
|
|
|
|
+ getDetail,
|
|
|
|
+ saveConfig,
|
|
|
|
+ configList,
|
|
|
|
+ listProConfig,
|
|
|
|
+ updateConfig,
|
|
|
|
+ deleteConfig,
|
|
|
|
+} from "@/api/knowledge";
|
|
export default {
|
|
export default {
|
|
name: "MiddPage",
|
|
name: "MiddPage",
|
|
data() {
|
|
data() {
|
|
@@ -532,6 +410,7 @@ export default {
|
|
project: [],
|
|
project: [],
|
|
},
|
|
},
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
|
|
+ configVisible: false,
|
|
firstAiForm: {
|
|
firstAiForm: {
|
|
application: "",
|
|
application: "",
|
|
wordCount: 100,
|
|
wordCount: 100,
|
|
@@ -539,8 +418,19 @@ export default {
|
|
prompt: "",
|
|
prompt: "",
|
|
modelValue: "",
|
|
modelValue: "",
|
|
},
|
|
},
|
|
|
|
+ /* 配置应用表单 */
|
|
|
|
+ configForm: {
|
|
|
|
+ id: "",
|
|
|
|
+ project_name: "提取第一作者",
|
|
|
|
+ max_tokens: 1024,
|
|
|
|
+ project_description: "从文献中提取第一作者信息,并进行格式化处理",
|
|
|
|
+ generation_method: "extract_first_author",
|
|
|
|
+ model_a_config: 20,
|
|
|
|
+ model_b_config: 22,
|
|
|
|
+ project_example: "",
|
|
|
|
+ },
|
|
currentDocument: "AED数据表", // 当前文档名称
|
|
currentDocument: "AED数据表", // 当前文档名称
|
|
- tag:[],
|
|
|
|
|
|
+ tag: [],
|
|
searchQuery: "", // 搜索关键词
|
|
searchQuery: "", // 搜索关键词
|
|
currentPage: 1, // 当前页码
|
|
currentPage: 1, // 当前页码
|
|
pageSize: 10, // 每页显示条数
|
|
pageSize: 10, // 每页显示条数
|
|
@@ -610,7 +500,7 @@ export default {
|
|
project: [],
|
|
project: [],
|
|
},
|
|
},
|
|
}, */
|
|
}, */
|
|
-
|
|
|
|
|
|
+ configArr: [],
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
currentExample: "",
|
|
currentExample: "",
|
|
currentRow: null,
|
|
currentRow: null,
|
|
@@ -627,123 +517,64 @@ export default {
|
|
);
|
|
);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- /* secondTableData() {
|
|
|
|
- return this.secondForm.tableData.filter((data) => {
|
|
|
|
- return (
|
|
|
|
- (!this.secondForm.activeFilters.workType.length ||
|
|
|
|
- this.secondForm.activeFilters.workType.includes(data.workType)) &&
|
|
|
|
- (!this.secondForm.activeFilters.project.length ||
|
|
|
|
- this.secondForm.activeFilters.project.includes(data.project))
|
|
|
|
- );
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- thirdTableData() {
|
|
|
|
- return this.thirdForm.tableData.filter((data) => {
|
|
|
|
- return (
|
|
|
|
- (!this.thirdForm.activeFilters.workType.length ||
|
|
|
|
- this.thirdForm.activeFilters.workType.includes(data.workType)) &&
|
|
|
|
- (!this.thirdForm.activeFilters.project.length ||
|
|
|
|
- this.thirdForm.activeFilters.project.includes(data.project))
|
|
|
|
- );
|
|
|
|
- });
|
|
|
|
- }, */
|
|
|
|
- },
|
|
|
|
- created() {
|
|
|
|
- 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.firstForm.tag = JSON.parse(this.$route.query.tag);
|
|
this.firstInit();
|
|
this.firstInit();
|
|
|
|
+ this.updateProjectFilters();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- /* SOTA汇总表(第三) */
|
|
|
|
- /* thirdHandleEdit(index, row) {
|
|
|
|
- row.isEdit = true;
|
|
|
|
- },
|
|
|
|
- thirdHandleSave(index, row) {
|
|
|
|
- row.isEdit = false;
|
|
|
|
- this.updateProjectFilters();
|
|
|
|
- // 在这里可以添加保存到后端的逻辑
|
|
|
|
- },
|
|
|
|
- thirdHandleDelete(index, row) {
|
|
|
|
- this.thirdForm.tableData.splice(index, 1);
|
|
|
|
- this.updateProjectFilters();
|
|
|
|
- // 在这里可以添加从后端删除的逻辑
|
|
|
|
- },
|
|
|
|
- thirdHandleAdd() {
|
|
|
|
- this.thirdForm.tableData.push({
|
|
|
|
- workType: "",
|
|
|
|
- project: "",
|
|
|
|
- description: "",
|
|
|
|
- example: "",
|
|
|
|
- isEdit: true,
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- thirdFilterWorkType(value, row) {
|
|
|
|
- return row.workType === value;
|
|
|
|
- },
|
|
|
|
- thirdFilterProject(value, row) {
|
|
|
|
- return row.project === value;
|
|
|
|
- },
|
|
|
|
- updateProjectFilters() {
|
|
|
|
- const projects = [
|
|
|
|
- ...new Set(this.thirdForm.tableData.map((item) => item.project)),
|
|
|
|
- ];
|
|
|
|
- this.projectFilters = projects.map((project) => ({
|
|
|
|
- text: project,
|
|
|
|
- value: project,
|
|
|
|
- }));
|
|
|
|
- }, */
|
|
|
|
- /* SOTA数据表(第二) */
|
|
|
|
- /* secondHandleEdit(index, row) {
|
|
|
|
- row.isEdit = true;
|
|
|
|
- },
|
|
|
|
- secondHandleSave(index, row) {
|
|
|
|
- row.isEdit = false;
|
|
|
|
- this.updateProjectFilters();
|
|
|
|
- // 在这里可以添加保存到后端的逻辑
|
|
|
|
- },
|
|
|
|
- secondHandleDelete(index, row) {
|
|
|
|
- this.secondForm.tableData.splice(index, 1);
|
|
|
|
- this.updateProjectFilters();
|
|
|
|
- // 在这里可以添加从后端删除的逻辑
|
|
|
|
- },
|
|
|
|
- secondHandleAdd() {
|
|
|
|
- this.secondForm.tableData.push({
|
|
|
|
- workType: "",
|
|
|
|
- project: "",
|
|
|
|
- description: "",
|
|
|
|
- example: "",
|
|
|
|
- isEdit: true,
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- secondFilterWorkType(value, row) {
|
|
|
|
- return row.workType === value;
|
|
|
|
- },
|
|
|
|
- secondFilterProject(value, row) {
|
|
|
|
- return row.project === value;
|
|
|
|
|
|
+ /* 配置模型 */
|
|
|
|
+ firstHandleConfig(index, row) {
|
|
|
|
+ this.firstForm.configForm = row;
|
|
|
|
+ this.firstForm.configForm.model_a_config = row.model_a_config.id;
|
|
|
|
+ this.firstForm.configForm.model_b_config = row.model_b_config.id;
|
|
|
|
+ /* this.firstForm.configForm.id=row.id
|
|
|
|
+ this.firstForm.configForm.project_description = row.description; */
|
|
|
|
+ this.firstForm.configVisible = true;
|
|
|
|
+ },
|
|
|
|
+ /* 保存配置JSON.stringify() */
|
|
|
|
+ saveConfig() {
|
|
|
|
+ if (!this.firstForm.configForm.id) {
|
|
|
|
+ saveConfig(this.firstForm.configForm).then((res) => {
|
|
|
|
+ if (res.status !== 200) return;
|
|
|
|
+ this.firstForm.configVisible = false;
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ updateConfig(this.firstForm.configForm).then((res) => {
|
|
|
|
+ if (res.status !== 200) return;
|
|
|
|
+ this.firstForm.configVisible = false;
|
|
|
|
+ this.$message.success("修改成功!");
|
|
|
|
+ });
|
|
|
|
+ }
|
|
},
|
|
},
|
|
- updateProjectFilters() {
|
|
|
|
- const projects = [
|
|
|
|
- ...new Set(this.secondForm.tableData.map((item) => item.project)),
|
|
|
|
- ];
|
|
|
|
- this.projectFilters = projects.map((project) => ({
|
|
|
|
- text: project,
|
|
|
|
- value: project,
|
|
|
|
- }));
|
|
|
|
- }, */
|
|
|
|
/* AED数据表(第一) 操作事件*/
|
|
/* AED数据表(第一) 操作事件*/
|
|
openExampleDialog(row) {
|
|
openExampleDialog(row) {
|
|
this.dialogVisible = true;
|
|
this.dialogVisible = true;
|
|
- this.currentExample = row.example;
|
|
|
|
this.currentRow = row;
|
|
this.currentRow = row;
|
|
|
|
+ this.currentExample = row.project_example; // 将当前行的范例赋值给弹窗输入框
|
|
},
|
|
},
|
|
|
|
+
|
|
saveExample() {
|
|
saveExample() {
|
|
- if (this.currentRow) {
|
|
|
|
- this.currentRow.example = this.currentExample;
|
|
|
|
|
|
+ if (this.currentRow && this.currentExample) {
|
|
|
|
+ // 更新当前行的范例内容
|
|
|
|
+ this.currentRow.project_example = this.currentExample;
|
|
|
|
+
|
|
|
|
+ // 如果需要同步更新到后端,可以调用更新API
|
|
|
|
+ updateConfig({
|
|
|
|
+ ...this.currentRow,
|
|
|
|
+ project_example: this.currentExample,
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ if (res.status === 200) {
|
|
|
|
+ this.$message.success("范例更新成功");
|
|
|
|
+ this.firstInit();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
this.dialogVisible = false;
|
|
this.dialogVisible = false;
|
|
|
|
+ this.currentRow = null;
|
|
|
|
+ this.currentExample = "";
|
|
},
|
|
},
|
|
/* 生成内容 */
|
|
/* 生成内容 */
|
|
// 更新内容处理方法
|
|
// 更新内容处理方法
|
|
@@ -810,18 +641,39 @@ export default {
|
|
this.firstForm.dialogVisible = true;
|
|
this.firstForm.dialogVisible = true;
|
|
},
|
|
},
|
|
firstHandleEdit(index, row) {
|
|
firstHandleEdit(index, row) {
|
|
- console.log(index);
|
|
|
|
|
|
+ this.firstForm.configForm = row;
|
|
|
|
+ this.firstForm.configForm.model_a_config = row.model_a_config.id;
|
|
|
|
+ this.firstForm.configForm.model_b_config = row.model_b_config.id;
|
|
row.isEdit = true;
|
|
row.isEdit = true;
|
|
},
|
|
},
|
|
firstHandleSave(index, row) {
|
|
firstHandleSave(index, row) {
|
|
row.isEdit = false;
|
|
row.isEdit = false;
|
|
- this.updateProjectFilters();
|
|
|
|
|
|
+ updateConfig(this.firstForm.configForm).then((res) => {
|
|
|
|
+ if (res.status !== 200) return;
|
|
|
|
+ this.$message.success("修改成功!");
|
|
|
|
+ this.firstInit();
|
|
|
|
+ });
|
|
// 在这里可以添加保存到后端的逻辑
|
|
// 在这里可以添加保存到后端的逻辑
|
|
},
|
|
},
|
|
- firstHandleDelete(index, row) {
|
|
|
|
- this.firstForm.tableData.splice(index, 1);
|
|
|
|
- this.updateProjectFilters();
|
|
|
|
- // 在这里可以添加从后端删除的逻辑
|
|
|
|
|
|
+ // 修改删除方法
|
|
|
|
+ async firstHandleDelete(index, row) {
|
|
|
|
+ try {
|
|
|
|
+ await this.$confirm("确认删除该记录?", "提示", {
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
+ type: "warning",
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ const res = await deleteConfig({ id: row.id });
|
|
|
|
+ if (res.status === 200) {
|
|
|
|
+ this.$message.success("删除成功");
|
|
|
|
+ this.firstInit(); // 重新加载数据
|
|
|
|
+ }
|
|
|
|
+ } catch (error) {
|
|
|
|
+ if (error !== "cancel") {
|
|
|
|
+ this.$message.error("删除失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
},
|
|
},
|
|
firstHandleAdd() {
|
|
firstHandleAdd() {
|
|
this.firstForm.tableData.push({
|
|
this.firstForm.tableData.push({
|
|
@@ -878,7 +730,21 @@ export default {
|
|
handleClick() {},
|
|
handleClick() {},
|
|
/* 获取详细信息 */
|
|
/* 获取详细信息 */
|
|
async firstInit() {
|
|
async firstInit() {
|
|
- const res = await getDetail({ id: this.$route.query.id });
|
|
|
|
|
|
+ /* 获取配置信息 */
|
|
|
|
+ listProConfig().then((res) => {
|
|
|
|
+ if (res.status !== 200) return;
|
|
|
|
+ res.data.data.map((el) => {
|
|
|
|
+ el.isEdit = false;
|
|
|
|
+ });
|
|
|
|
+ this.firstForm.tableData = res.data.data;
|
|
|
|
+ });
|
|
|
|
+ /* 应用列表 */
|
|
|
|
+ configList().then((res) => {
|
|
|
|
+ if (res.status !== 200) return;
|
|
|
|
+ this.configArr = res.data;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ /* const res = await getDetail({ id: this.$route.query.id });
|
|
|
|
|
|
// 定义字段映射关系
|
|
// 定义字段映射关系
|
|
const fieldMappings = {
|
|
const fieldMappings = {
|
|
@@ -888,40 +754,52 @@ export default {
|
|
},
|
|
},
|
|
literature_type: {
|
|
literature_type: {
|
|
description:
|
|
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: "第一作者",
|
|
|
|
|
|
+ "1-Meta-Analysis 2-Systematic Review(Systematic Review有非常严格的检索、选择、评价标准)3-Review 4-Randomized Controlled Trials 5-Cohort Study 6-Case-Report 7-Background Information/Expert Opinion 8-Animal Research/Lab Studies 可以从文献的:标题(1,2在标题出现的概率高),abstract,method中识别文献类型",
|
|
|
|
+ example: "4-Randomized Controlled Trials",
|
|
},
|
|
},
|
|
first_author: {
|
|
first_author: {
|
|
- description: "overall_quality",
|
|
|
|
|
|
+ description: "第一作者",
|
|
example: "",
|
|
example: "",
|
|
},
|
|
},
|
|
study_design: {
|
|
study_design: {
|
|
- description: "可以从文献的method部分提取实验设计/方法可以是Randomized controlled方式.文献搜索,数据库提取文献,干预分组……",
|
|
|
|
- example: "searched Medline, Embase, the Web of Science, and the Cochrane Library for randomized trials and observational studies",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "可以从文献的method部分提取实验设计/方法可以是Randomized controlled方式.文献搜索,数据库提取文献,干预分组……",
|
|
|
|
+ example:
|
|
|
|
+ "searched Medline, Embase, the Web of Science, and the Cochrane Library for randomized trials and observational studies",
|
|
},
|
|
},
|
|
population: {
|
|
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",
|
|
|
|
|
|
+ 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: {
|
|
region_country: {
|
|
- description: "患者/试验者的人种,国家地区,以查阅是否存在数据上人种差异",
|
|
|
|
- example: "white non-hispanic: n=247; african american:n=25; hispanic or latino: n=34",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "患者/试验者的人种,国家地区,以查阅是否存在数据上人种差异",
|
|
|
|
+ example:
|
|
|
|
+ "white non-hispanic: n=247; african american:n=25; hispanic or latino: n=34",
|
|
},
|
|
},
|
|
indication: {
|
|
indication: {
|
|
- description: "器械在文献中使用的适应症,按照器械分析,也需要添加器械使用部位以区分",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "器械在文献中使用的适应症,按照器械分析,也需要添加器械使用部位以区分",
|
|
example: "t1d: n=191;t2d: n=152;",
|
|
example: "t1d: n=191;t2d: n=152;",
|
|
},
|
|
},
|
|
intervention: {
|
|
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)",
|
|
|
|
|
|
+ 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: {
|
|
subject_device: {
|
|
- description: "Device name + model name 如无,可写疗法(以评价的器械所用疗法为主)",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "Device name + model name 如无,可写疗法(以评价的器械所用疗法为主)",
|
|
example: "Dexcom G6(此处为CGM器械名字)",
|
|
example: "Dexcom G6(此处为CGM器械名字)",
|
|
},
|
|
},
|
|
alternative_device: {
|
|
alternative_device: {
|
|
- description: "Device name + model name 如无,可写疗法(以评价的器械的替代疗法)",
|
|
|
|
- example: "Capillary blood by BMG; Venous blood by YSI (此处为CGM的替代疗法)",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "Device name + model name 如无,可写疗法(以评价的器械的替代疗法)",
|
|
|
|
+ example:
|
|
|
|
+ "Capillary blood by BMG; Venous blood by YSI (此处为CGM的替代疗法)",
|
|
},
|
|
},
|
|
outcomes: {
|
|
outcomes: {
|
|
description: "Scope: tools (follow-up); such as 'Pain: VAS (day 3)'",
|
|
description: "Scope: tools (follow-up); such as 'Pain: VAS (day 3)'",
|
|
@@ -936,16 +814,20 @@ export default {
|
|
example: "8 weeks",
|
|
example: "8 weeks",
|
|
},
|
|
},
|
|
clinical_benefit: {
|
|
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.",
|
|
|
|
|
|
+ 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: {
|
|
disadvantage: {
|
|
- description: "临床劣势(文献中提到研究器械的劣势,比如在什么情况下疗效不好)eg:导致出血,导致uncomfortable,导致预后不好……可以从result,discussion中提取",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "临床劣势(文献中提到研究器械的劣势,比如在什么情况下疗效不好)eg:导致出血,导致uncomfortable,导致预后不好……可以从result,discussion中提取",
|
|
example: "/",
|
|
example: "/",
|
|
},
|
|
},
|
|
conclusion: {
|
|
conclusion: {
|
|
description: "结论",
|
|
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.",
|
|
|
|
|
|
+ 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: {
|
|
clinical_guidelines: {
|
|
description: "识别文献中提到的临床实践指南",
|
|
description: "识别文献中提到的临床实践指南",
|
|
@@ -956,27 +838,33 @@ export default {
|
|
example: "",
|
|
example: "",
|
|
},
|
|
},
|
|
medical_field: {
|
|
medical_field: {
|
|
- description: "识别该器械是用于哪个医疗领域?例如骨科,外科,牙科,放射诊断等,包括已确定的医疗领域的历史方面的概述",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "识别该器械是用于哪个医疗领域?例如骨科,外科,牙科,放射诊断等,包括已确定的医疗领域的历史方面的概述",
|
|
example: "",
|
|
example: "",
|
|
},
|
|
},
|
|
associated_conditions: {
|
|
associated_conditions: {
|
|
- description: "1 讨论该设备拟治疗的疾病的所有方面,包括但不限于流行病学、发病机制、临床表现和共病2 临床条件的描述,如:2.1 自然病程和结果。2.2 医疗条件是否有不同的临床方式、阶段和严重性。2.3 总体人群中的频率,通过年龄、性别、种族划分,熟悉的诱因、遗传方面等。",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "1 讨论该设备拟治疗的疾病的所有方面,包括但不限于流行病学、发病机制、临床表现和共病2 临床条件的描述,如:2.1 自然病程和结果。2.2 医疗条件是否有不同的临床方式、阶段和严重性。2.3 总体人群中的频率,通过年龄、性别、种族划分,熟悉的诱因、遗传方面等。",
|
|
example: "",
|
|
example: "",
|
|
},
|
|
},
|
|
suitability_criteria: {
|
|
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",
|
|
|
|
|
|
+ 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",
|
|
example: "D2,A1,P1,R1",
|
|
},
|
|
},
|
|
contribution_criteria: {
|
|
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? ",
|
|
|
|
|
|
+ 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",
|
|
example: "T1,O1,F1,S1,C1",
|
|
},
|
|
},
|
|
oxford_evidence: {
|
|
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",
|
|
|
|
|
|
+ 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",
|
|
example: "level 2",
|
|
},
|
|
},
|
|
overall_quality: {
|
|
overall_quality: {
|
|
- description: "将前面数字加起来的总和 9-14 Accepted and Pivotal 15-23 Accepted but not Pivotal 24-27 Excluded",
|
|
|
|
|
|
+ description:
|
|
|
|
+ "将前面数字加起来的总和 9-14 Accepted and Pivotal 15-23 Accepted but not Pivotal 24-27 Excluded",
|
|
example: "12",
|
|
example: "12",
|
|
},
|
|
},
|
|
};
|
|
};
|
|
@@ -993,7 +881,7 @@ export default {
|
|
generation_2: "", // 为模型生成2预留空间
|
|
generation_2: "", // 为模型生成2预留空间
|
|
}));
|
|
}));
|
|
|
|
|
|
- this.firstForm.tableData = processedData;
|
|
|
|
|
|
+ this.firstForm.tableData = processedData; */
|
|
},
|
|
},
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|