Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4cfce04955 | ||
|
|
97c31a871d | ||
|
|
b5d0ecfdf4 | ||
|
|
b1bfe9529b | ||
|
|
d14b2f2f81 | ||
|
|
9fab1f7daf | ||
|
|
85967d7989 | ||
|
|
9db5f12469 | ||
|
|
72efe14d10 | ||
|
|
c040663c36 | ||
|
|
1ae3e877a0 | ||
|
|
a0f1afe178 | ||
|
|
beb5558464 | ||
|
|
6f4cad004d | ||
|
|
59a632711c | ||
|
|
19f304e7d0 |
23718
package-lock.json
generated
23718
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@
|
||||
"axios": "^0.26.1",
|
||||
"core-js": "^3.6.5",
|
||||
"echarts": "^5.3.2",
|
||||
"element-ui": "^2.15.6",
|
||||
"element-ui": "^2.15.14",
|
||||
"file-saver": "^2.0.5",
|
||||
"jquery": "^3.6.0",
|
||||
"js-base64": "^3.7.2",
|
||||
|
||||
@@ -6,4 +6,7 @@
|
||||
</template>
|
||||
|
||||
<style lang="less">
|
||||
a {
|
||||
color: #67c23a !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
BIN
src/assets/img/one.png
Normal file
BIN
src/assets/img/one.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 176 KiB |
BIN
src/assets/img/two.png
Normal file
BIN
src/assets/img/two.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 638 KiB |
@@ -1,6 +1,7 @@
|
||||
import Vue from 'vue'
|
||||
// 引入element-ui框架
|
||||
import ElementUI from 'element-ui'
|
||||
import 'element-ui/lib/theme-chalk/index.css';
|
||||
// import 'element-ui/lib/theme-chalk/index.css'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
@@ -30,26 +30,153 @@ const routes = [
|
||||
meta: { title: '遗传病风险', activeMenu: '/disease-resistance/disease-resistance' }
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
// 基因管理
|
||||
path: '/geneMgmt',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/geneMgmt/SPN',
|
||||
component: () =>
|
||||
import('../views/geneMgmt/SPN.vue'),
|
||||
meta: { title: 'SPN位点管理', activeMenu: '/geneMgmt/SPN' }
|
||||
},
|
||||
{
|
||||
path: '/geneMgmt/SPNPanel',
|
||||
component: () =>
|
||||
import('../views/geneMgmt/SPNPanel.vue'),
|
||||
meta: { title: 'SPN Panel位点管理', activeMenu: '/geneMgmt/SPNPanel' }
|
||||
},
|
||||
{
|
||||
path: '/geneMgmt/sequence',
|
||||
component: () =>
|
||||
import('../views/geneMgmt/sequence.vue'),
|
||||
meta: { title: '原始测序数据', activeMenu: '/geneMgmt/sequence' }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
// 繁育管理
|
||||
path: '/breedMgmt',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/breedMgmt/BLUP',
|
||||
component: () =>
|
||||
import('../views/breedMgmt/BLUP.vue'),
|
||||
meta: { title: 'BLUP', activeMenu: '/breedMgmt/BLUP' }
|
||||
},
|
||||
{
|
||||
path: '/breedMgmt/paternityTest',
|
||||
component: () =>
|
||||
import('../views/breedMgmt/paternityTest.vue'),
|
||||
meta: { title: '亲子鉴定', activeMenu: '/breedMgmt/paternityTest' }
|
||||
},
|
||||
{
|
||||
path: '/breedMgmt/lineage',
|
||||
component: () =>
|
||||
import('../views/breedMgmt/lineage.vue'),
|
||||
meta: { title: '血统管理', activeMenu: '/breedMgmt/lineage' }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
// 进化分析
|
||||
path: '/phylogeneticAnalysis',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/phylogeneticAnalysis/evolutionaryTree',
|
||||
component: () =>
|
||||
import('../views/phylogeneticAnalysis/evolutionaryTree.vue'),
|
||||
meta: { title: '进化树', activeMenu: '/phylogeneticAnalysis/evolutionaryTree' }
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
component: Login,
|
||||
meta: { title: '登录', activeMenu: '/login' }
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
component: Layout,
|
||||
redirect: '/disease-resistance/disease-resistance',
|
||||
meta: { title: '', activeMenu: '/disease-resistance/disease-resistance' }
|
||||
}, {
|
||||
// 首页
|
||||
path: '/index',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/index/index',
|
||||
component: () =>
|
||||
import('../views/index/index.vue'),
|
||||
meta: { title: '首页', activeMenu: '/index/index' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
// 遗传病风险
|
||||
path: '/disease-resistance',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/disease-resistance/disease-resistance',
|
||||
component: () =>
|
||||
import('../views/disease-resistance/disease-resistance.vue'),
|
||||
meta: { title: '遗传病风险', activeMenu: '/disease-resistance/disease-resistance' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
// 档案信息
|
||||
path: '/archive-information',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/archive-information/archive-information',
|
||||
component: () =>
|
||||
import('../views/archive-information/archive-information.vue'),
|
||||
meta: { title: '档案信息', activeMenu: '/archive-information/archive-information' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
// 快速查询
|
||||
path: '/quick-Search/quick-Search',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: '/quick-Search/quick-Search',
|
||||
component: () =>
|
||||
import('../views/quick-Search/quick-Search.vue'),
|
||||
meta: { title: '快速查询', activeMenu: '/quick-Search/quick-Search' }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
const router = new VueRouter({
|
||||
routes
|
||||
routes
|
||||
})
|
||||
// 前置路由守卫
|
||||
router.beforeEach((to, from, next) => {
|
||||
// to到哪里取 from 从哪里来 next 放行
|
||||
const token = local.get('token_sd')
|
||||
if (to.meta.title) { // 修改总标题
|
||||
document.title = '肉牛溯源系统' + '-' + to.meta.title // routes数组中--meta是关键
|
||||
}
|
||||
if (token) { // ok
|
||||
next()
|
||||
} else { // no
|
||||
if (to.path === '/login') {
|
||||
next()
|
||||
// to到哪里取 from 从哪里来 next 放行
|
||||
const token = local.get('token_sd')
|
||||
if (to.meta.title) { // 修改总标题
|
||||
document.title = '基芯农育种' + '-' + to.meta.title // routes数组中--meta是关键
|
||||
}
|
||||
if (token) { // ok
|
||||
next()
|
||||
} else { // no
|
||||
if (to.path === '/login') {
|
||||
next()
|
||||
}
|
||||
next('/login')
|
||||
}
|
||||
next('/login')
|
||||
}
|
||||
})
|
||||
export default router
|
||||
|
||||
429
src/views/archive-information/archive-information.vue
Normal file
429
src/views/archive-information/archive-information.vue
Normal file
@@ -0,0 +1,429 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<div class="common-title">
|
||||
<h4>档案信息</h4>
|
||||
</div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div>
|
||||
<el-form-item>
|
||||
<el-button type="success" @click="uploadialogVisible = true"
|
||||
>上传</el-button
|
||||
>
|
||||
<el-button type="success">修改</el-button
|
||||
><el-button type="success">删除</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div>
|
||||
<el-form-item label="获取数据">
|
||||
<el-select
|
||||
value="searchForm.status"
|
||||
v-model="searchForm.status"
|
||||
placeholder="请选择数据类型"
|
||||
class="topselect"
|
||||
@change="change"
|
||||
>
|
||||
<el-option label="基本信息" :value="0"></el-option>
|
||||
<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-option label="基因组信息" :value="6"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.number"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search">搜索</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
icon="el-icon-refresh"
|
||||
@click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
:header-cell-style="{ textAlign: 'center', color: '#606266' }"
|
||||
:cell-style="cellStyle"
|
||||
>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column prop="yzc" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="bjbh" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="jbxx" label="基本信息"></el-table-column>
|
||||
<el-table-column prop="xpxx" label="系谱信息"></el-table-column>
|
||||
<el-table-column prop="yzfx" label="育种分析"></el-table-column>
|
||||
<el-table-column prop="jhfx" label="进化分析"></el-table-column>
|
||||
<el-table-column prop="ycbfx" label="遗传病风险"></el-table-column>
|
||||
<el-table-column prop="jyzxx" label="基因组信息"></el-table-column>
|
||||
<el-table-column prop="zhyzbg" label="综合育种报告"></el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog :visible.sync="uploadialogVisible" width="40%">
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
status-icon
|
||||
ref="searchForm"
|
||||
label-width="110px"
|
||||
class="demo-ruleForm"
|
||||
style="padding-left: 20px; box-sizing: border-box"
|
||||
>
|
||||
<el-form-item label="名称" prop="pic">
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.pic"
|
||||
placeholder="请输入名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测平台" prop="title">
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.title"
|
||||
placeholder="请输入检测平台"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" prop="address">
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.address"
|
||||
placeholder="请输入描述"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="选择上传" prop="address">
|
||||
<el-checkbox-group v-model="checkList">
|
||||
<el-checkbox label="基本信息"></el-checkbox>
|
||||
<el-checkbox label="系谱信息"></el-checkbox>
|
||||
<el-checkbox label="育种分析"></el-checkbox>
|
||||
<el-checkbox label="进化分析"></el-checkbox>
|
||||
<el-checkbox label="遗传病风险"></el-checkbox>
|
||||
<el-checkbox label="基因组信息"></el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="导入文件名称" prop="address">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
action="https://jsonplaceholder.typicode.com/posts/"
|
||||
multiple
|
||||
:limit="3"
|
||||
>
|
||||
<el-button size="small" type="success">点击上传</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="uploadialogVisible = false" size="mini"
|
||||
>关闭</el-button
|
||||
>
|
||||
<el-button
|
||||
type="success"
|
||||
size="mini"
|
||||
@click="uploadialogVisible = false"
|
||||
>确认</el-button
|
||||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogVisible" width="40%">
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
status-icon
|
||||
ref="searchForm"
|
||||
label-width="110px"
|
||||
class="demo-ruleForm"
|
||||
style="padding-left: 20px; box-sizing: border-box"
|
||||
>
|
||||
<el-form-item v-if="evalue == 0 || evalue == 1" label="平台" prop="pic">
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.pic"
|
||||
placeholder="请输入平台名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="evalue == 0 || evalue == 1"
|
||||
label="手机号"
|
||||
prop="title"
|
||||
>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.title"
|
||||
placeholder="请输入手机号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="evalue == 0 || evalue == 1"
|
||||
label="密码"
|
||||
prop="address"
|
||||
>
|
||||
<el-input
|
||||
type="password"
|
||||
v-model="searchForm.address"
|
||||
placeholder="请输入密码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="
|
||||
evalue == 2 ||
|
||||
evalue == 3 ||
|
||||
evalue == 4 ||
|
||||
evalue == 5 ||
|
||||
evalue == 6
|
||||
"
|
||||
label="获取编码"
|
||||
prop="address"
|
||||
>
|
||||
<el-input
|
||||
type="text"
|
||||
v-model="searchForm.address1"
|
||||
placeholder="请输入获取编码"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false" size="mini">关闭</el-button>
|
||||
<el-button type="success" size="mini" @click="dialogVisible = false"
|
||||
>确认</el-button
|
||||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
checkList: [],
|
||||
// 上传
|
||||
uploadialogVisible: false,
|
||||
dialogVisible: false,
|
||||
searchForm: {
|
||||
farm: '',
|
||||
number: ''
|
||||
},
|
||||
evalue: '',
|
||||
tableData: [
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011920',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '未上传',
|
||||
jhfx: '未上传',
|
||||
ycbfx: '未上传',
|
||||
jyzxx: '未上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011921',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011922',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011923',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011924',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011925',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011926',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011927',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
},
|
||||
{
|
||||
yzc: '若尔盖',
|
||||
bjbh: '99715011928',
|
||||
jbxx: '已上传',
|
||||
xpxx: '已上传',
|
||||
yzfx: '已上传',
|
||||
jhfx: '已上传',
|
||||
ycbfx: '已上传',
|
||||
jyzxx: '已上传',
|
||||
zhyzbg: '已上传'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 9
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
this.evalue = e
|
||||
this.dialogVisible = true
|
||||
},
|
||||
// 上传
|
||||
upload() {},
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
this.searchForm.status = this.searchForm.number = ''
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
// 当监测结果为 已携带 的状态,加上背景色,字体颜色
|
||||
cellStyle({ row, column, rowIndex, columnIndex }) {
|
||||
// 注意,这里返回的是一个对象
|
||||
if (row.result == '携带' && column.label == '监测结果') {
|
||||
return 'background:#d9001b;textAlign: center;color:#fff;'
|
||||
} else {
|
||||
return 'textAlign: center'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.common-title {
|
||||
height: 56px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #f2f2f2;
|
||||
margin-bottom: 25px;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
/deep/.el-form-item__content {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
409
src/views/breedMgmt/BLUP.vue
Normal file
409
src/views/breedMgmt/BLUP.vue
Normal file
@@ -0,0 +1,409 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-radio-group v-model="activeName" style="margin: 20px 10px">
|
||||
<el-radio-button label="ABLUP"></el-radio-button>
|
||||
<el-radio-button label="GBLUP"></el-radio-button>
|
||||
<el-radio-button label="ssGBLUP"></el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
style="margin: 15px 0 25px"
|
||||
>
|
||||
<el-form-item label="养殖场">
|
||||
<el-input
|
||||
v-model="searchForm.a"
|
||||
placeholder="请输入养殖场"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.b"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="tableDataABLUP"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
v-if="activeName == 'ABLUP'"
|
||||
>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="性别"></el-table-column>
|
||||
<el-table-column prop="d" label="外貌评分"></el-table-column>
|
||||
<el-table-column prop="e" label="18月龄体高(CM)"></el-table-column>
|
||||
<el-table-column prop="f" label="18月龄体长(CM)"></el-table-column>
|
||||
<el-table-column prop="g" label="18月龄胸围(CM)"></el-table-column>
|
||||
<el-table-column prop="h" label="18月龄官维(CM)"></el-table-column>
|
||||
<el-table-column prop="i" label="18月龄体重(KG)"></el-table-column>
|
||||
<el-table-column prop="j" label="18月龄背膘厚度(MM)"></el-table-column>
|
||||
<el-table-column prop="k" label="18月龄眼肌面积(MM)"></el-table-column>
|
||||
<el-table-column prop="l" label="平均产奶量(KG)"></el-table-column>
|
||||
<el-table-column prop="m" label="平均乳脂率(%)"></el-table-column>
|
||||
<el-table-column prop="n" label="平均乳蛋白率(%)"></el-table-column>
|
||||
<el-table-column
|
||||
prop="o"
|
||||
label="综合育种指数"
|
||||
sortable
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column label="详情">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" class="detail-btn"
|
||||
><a
|
||||
target="_blank"
|
||||
href="https://smart-1259258654.cos.ap-guangzhou.myqcloud.com/pdf/99715011920%E7%89%9B%E9%81%97%E4%BC%A0%E7%97%85%E5%9F%BA%E5%9B%A0%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A.pdf"
|
||||
>查看</a
|
||||
></el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table
|
||||
:data="tableDataGBLUP"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
v-if="activeName == 'GBLUP'"
|
||||
>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="性别"></el-table-column>
|
||||
<el-table-column prop="d" label="月龄"></el-table-column>
|
||||
<el-table-column prop="e" label="样本"></el-table-column>
|
||||
<el-table-column
|
||||
prop="f"
|
||||
label="综合育种指数"
|
||||
sortable
|
||||
></el-table-column>
|
||||
<el-table-column label="详情">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table
|
||||
:data="tableDatassGBLUP"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
v-if="activeName == 'ssGBLUP'"
|
||||
>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="性别"></el-table-column>
|
||||
<el-table-column prop="d" label="月龄"></el-table-column>
|
||||
<el-table-column prop="e" label="样本"></el-table-column>
|
||||
<el-table-column
|
||||
prop="f"
|
||||
label="综合育种指数"
|
||||
sortable
|
||||
></el-table-column>
|
||||
<el-table-column label="详情">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
activeName: 'ABLUP',
|
||||
searchForm: {
|
||||
a: '',
|
||||
b: ''
|
||||
},
|
||||
tableDataABLUP: [
|
||||
{
|
||||
id: 0,
|
||||
a: '若尔盖',
|
||||
b: '82010000990',
|
||||
c: '雌',
|
||||
d: '93',
|
||||
e: '132',
|
||||
f: '161',
|
||||
g: '198',
|
||||
h: '18',
|
||||
i: '577',
|
||||
j: '10.9',
|
||||
k: '42.92',
|
||||
l: '4500',
|
||||
m: '4.1',
|
||||
n: '3.4',
|
||||
o: '255.85'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '雌',
|
||||
d: '90',
|
||||
e: '130',
|
||||
f: '155',
|
||||
g: '192',
|
||||
h: '19',
|
||||
i: '567',
|
||||
j: '9.9',
|
||||
k: '41.2',
|
||||
l: '4490',
|
||||
m: '4.0',
|
||||
n: '3.2',
|
||||
o: '252.85'
|
||||
},
|
||||
|
||||
{
|
||||
id: 3,
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '雌',
|
||||
d: '91',
|
||||
e: '130',
|
||||
f: '155',
|
||||
g: '192',
|
||||
h: '19',
|
||||
i: '567',
|
||||
j: '9.9',
|
||||
k: '41.2',
|
||||
l: '4490',
|
||||
m: '4.0',
|
||||
n: '3.2',
|
||||
o: '252.85'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
a: '若尔盖',
|
||||
b: '82010000993',
|
||||
c: '雌',
|
||||
d: '98',
|
||||
e: '140',
|
||||
f: '175',
|
||||
g: '199',
|
||||
h: '20',
|
||||
i: '597',
|
||||
j: '12.9',
|
||||
k: '47.2',
|
||||
l: '4690',
|
||||
m: '4.9',
|
||||
n: '3.4',
|
||||
o: '259.85'
|
||||
},
|
||||
|
||||
{
|
||||
id: 4,
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '雌',
|
||||
d: '96',
|
||||
e: '140',
|
||||
f: '185',
|
||||
g: '199',
|
||||
h: '20',
|
||||
i: '597',
|
||||
j: '12.9',
|
||||
k: '47.2',
|
||||
l: '4800',
|
||||
m: '4.9',
|
||||
n: '3.4',
|
||||
o: '254.85'
|
||||
}
|
||||
],
|
||||
tableDataGBLUP: [
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000990',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '1'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '雌',
|
||||
d: '8',
|
||||
e: '血液',
|
||||
f: '3'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '雌',
|
||||
d: '7',
|
||||
e: '血液',
|
||||
f: '5'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000993',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '4'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '9'
|
||||
}
|
||||
],
|
||||
tableDatassGBLUP: [
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '雌',
|
||||
d: '8',
|
||||
e: '血液',
|
||||
f: '3'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '8'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '雌',
|
||||
d: '7',
|
||||
e: '血液',
|
||||
f: '5'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000990',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '6'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000993',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '4'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 5
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
296
src/views/breedMgmt/lineage.vue
Normal file
296
src/views/breedMgmt/lineage.vue
Normal file
@@ -0,0 +1,296 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-select v-model="searchForm.a" placeholder="选择品种">
|
||||
<el-option
|
||||
v-for="item in options1"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select v-model="searchForm.b" placeholder="选择单个">
|
||||
<el-option
|
||||
v-for="item in options2"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-form-item label="">
|
||||
<el-input v-model="searchForm.c" placeholder="请输入编号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box con">
|
||||
<div class="con">
|
||||
<div class="left">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
height="504"
|
||||
ref="multipleTable"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column prop="a" label="标记编号"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div style="height: 480px; width: 500px">
|
||||
<img
|
||||
src="@/assets/img/one.png"
|
||||
alt=""
|
||||
v-if="multipleSelection.length == 1"
|
||||
/>
|
||||
<img
|
||||
src="@/assets/img/two.png"
|
||||
alt=""
|
||||
v-if="multipleSelection.length == 2"
|
||||
/>
|
||||
</div>
|
||||
<div class="info">
|
||||
<p>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">
|
||||
低近交系数(0% -
|
||||
5%):表示个体的遗传多样性较高,近交程度较低。这些个体的基因组中<br />
|
||||
来自近亲的比例很小,通常表示良好的遗传多样性和较低的遗传疾病风险。<br />
|
||||
中等近交系数(5% -
|
||||
15%):表示个体存在一定程度的近交,遗传多样性略有下降。这些个体<br />
|
||||
可能会有一些遗传问题的风险,但整体仍然在可接受范围内。<br />
|
||||
高近交系数(15%
|
||||
以上):表示个体的近交程度较高,遗传多样性明显下降。这些个体可能面<br />
|
||||
临更高的遗传疾病风险,且可能出现表现不稳定的情况,如生长缓慢、繁殖问题等<br />
|
||||
</div>
|
||||
<span class="el-icon-info"></span>
|
||||
</el-tooltip>
|
||||
近交系数
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
a: '',
|
||||
b: '',
|
||||
c: ''
|
||||
},
|
||||
options1: [
|
||||
{
|
||||
value: '选项1',
|
||||
label: '西门塔尔'
|
||||
},
|
||||
{
|
||||
value: '选项2',
|
||||
label: '九龙牦牛'
|
||||
},
|
||||
{
|
||||
value: '选项3',
|
||||
label: '荷斯坦牛'
|
||||
},
|
||||
{
|
||||
value: '选项4',
|
||||
label: '安格斯牛'
|
||||
}
|
||||
],
|
||||
options2: [
|
||||
{
|
||||
value: '选项1',
|
||||
label: '单个'
|
||||
},
|
||||
{
|
||||
value: '选项2',
|
||||
label: '多个'
|
||||
}
|
||||
],
|
||||
tableData: [
|
||||
{
|
||||
id: 1,
|
||||
a: 'CX_82010000990'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: 'CX_82010000991'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: 'CX_82010000992'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
a: 'CX_82010000993'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
a: 'CX_82010000994'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
a: 'CX_82010000995'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
a: 'CX_82010000996'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
a: 'CX_82010000997'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
a: 'CX_82010000998'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
a: 'CX_82010000999'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
a: 'CX_82010001000'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
a: 'CX_82010001001'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
a: 'CX_82010001002'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
a: 'CX_82010001003'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 2,
|
||||
multipleSelection: [],
|
||||
maxSelectionCount: 2
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
if (val.length > this.maxSelectionCount) {
|
||||
val.splice(0, val.length - 2)
|
||||
this.$refs.multipleTable.toggleRowSelection(val[0], false) // 取消第一行的选中状态
|
||||
}
|
||||
this.multipleSelection = val
|
||||
console.log(this.multipleSelection)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
/deep/ .el-input--suffix .el-input__inner {
|
||||
padding-right: 30px;
|
||||
width: 150px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
/deep/ .el-input__suffix {
|
||||
height: 120%;
|
||||
}
|
||||
.con {
|
||||
width: 100%;
|
||||
height: 508px;
|
||||
border: #ccc solid 1px;
|
||||
padding: 15px;
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
.left {
|
||||
width: 200px;
|
||||
}
|
||||
.right {
|
||||
flex: 1;
|
||||
img {
|
||||
width: auto;
|
||||
height: 480px;
|
||||
margin-left: 100px;
|
||||
}
|
||||
}
|
||||
.info p {
|
||||
padding-right: 200px;
|
||||
float: right;
|
||||
}
|
||||
</style>
|
||||
202
src/views/breedMgmt/paternityTest.vue
Normal file
202
src/views/breedMgmt/paternityTest.vue
Normal file
@@ -0,0 +1,202 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="养殖场">
|
||||
<el-input
|
||||
v-model="searchForm.a"
|
||||
placeholder="请输入养殖场"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.b"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table :data="tableData" style="width: 100%" size="mini" border>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="性别"></el-table-column>
|
||||
<el-table-column prop="d" label="月龄"></el-table-column>
|
||||
<el-table-column prop="e" label="样本"></el-table-column>
|
||||
<el-table-column prop="d" label="疑是父母编号"></el-table-column>
|
||||
<el-table-column prop="e" label="相似度"></el-table-column>
|
||||
<el-table-column label="亲缘关系结果">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
a: '',
|
||||
b: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
id: 0,
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '雌',
|
||||
d: '8',
|
||||
e: '血液',
|
||||
f: '82020000981',
|
||||
g: '99.99%'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '82020000986',
|
||||
g: '69.99%'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '82020000985',
|
||||
g: '79.99%'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: '若尔盖',
|
||||
b: '82010000995',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '82020000989',
|
||||
g: '98.99%'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: '若尔盖',
|
||||
b: '82010000998',
|
||||
c: '雌',
|
||||
d: '6',
|
||||
e: '血液',
|
||||
f: '82020000976',
|
||||
g: '78.99%'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 5
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
download(id) {
|
||||
this.$message({
|
||||
message: '下载成功',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
258
src/views/geneMgmt/SPN.vue
Normal file
258
src/views/geneMgmt/SPN.vue
Normal file
@@ -0,0 +1,258 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.a"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标记名称">
|
||||
<el-input
|
||||
v-model="searchForm.b"
|
||||
placeholder="请输入标记名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Panel">
|
||||
<el-input v-model="searchForm.c" placeholder="请输入Panel"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="染色体">
|
||||
<el-input
|
||||
v-model="searchForm.d"
|
||||
placeholder="请输入染色体"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始位置">
|
||||
<el-input
|
||||
v-model="searchForm.e"
|
||||
placeholder="请输入开始位置"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束位置">
|
||||
<el-input
|
||||
v-model="searchForm.f"
|
||||
placeholder="请输入结束位置"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table :data="tableData" style="width: 100%" size="mini" border>
|
||||
<el-table-column prop="a" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="b" label="标记名称"></el-table-column>
|
||||
<el-table-column prop="c" label="基因版本"></el-table-column>
|
||||
<el-table-column prop="d" label="染色体号"></el-table-column>
|
||||
<el-table-column prop="e" label="位置"></el-table-column>
|
||||
<el-table-column prop="f" label="参考基因"></el-table-column>
|
||||
<el-table-column prop="g" label="等位基因"></el-table-column>
|
||||
<el-table-column prop="h" label="备注"></el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
a: '',
|
||||
b: '',
|
||||
c: '',
|
||||
d: '',
|
||||
e: '',
|
||||
f: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
id: 1,
|
||||
a: '82010000990',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '10011101',
|
||||
f: 'T',
|
||||
g: 'G',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: '82010000991',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '10011102',
|
||||
f: 'G',
|
||||
g: 'C',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: '82010000992',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '10011103',
|
||||
f: 'A',
|
||||
g: 'G',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
a: '82010000993',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '1001457',
|
||||
f: 'C',
|
||||
g: 'G',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
a: '82010000994',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '100118',
|
||||
f: 'A',
|
||||
g: 'T',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
a: '82010000995',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '10011109',
|
||||
f: 'T',
|
||||
g: 'G',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
a: '82010000996',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '10011105',
|
||||
f: 'G',
|
||||
g: 'C',
|
||||
h: '--'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
a: '82010000997',
|
||||
b: '--',
|
||||
c: 'ARS-UCD1.2',
|
||||
d: '10',
|
||||
e: '100111023',
|
||||
f: 'A',
|
||||
g: 'G',
|
||||
h: '--'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 8
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
// 当监测结果为 已携带 的状态,加上背景色,字体颜色
|
||||
cellStyle({ row, column, rowIndex, columnIndex }) {
|
||||
// 注意,这里返回的是一个对象
|
||||
if (row.result == '携带' && column.label == '监测结果') {
|
||||
return 'background:#d9001b;textAlign: center;color:#fff;'
|
||||
} else {
|
||||
return 'textAlign: center'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
154
src/views/geneMgmt/SPNPanel.vue
Normal file
154
src/views/geneMgmt/SPNPanel.vue
Normal file
@@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="Panel">
|
||||
<el-input
|
||||
v-model="searchForm.farm"
|
||||
placeholder="请输入Panel"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测平台">
|
||||
<el-input
|
||||
v-model="searchForm.farm"
|
||||
placeholder="请输入检测平台"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table :data="tableData" style="width: 100%" size="mini" border>
|
||||
<el-table-column prop="a" label="Panel名称"></el-table-column>
|
||||
<el-table-column prop="b" label="检测平台"></el-table-column>
|
||||
<el-table-column prop="c" label="基因版本"></el-table-column>
|
||||
<el-table-column prop="d" label="位点数目"></el-table-column>
|
||||
<el-table-column prop="e" label="描述"></el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>详情</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
farm: '',
|
||||
number: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
id: 1,
|
||||
a: '',
|
||||
b: 'illumina',
|
||||
c: '',
|
||||
d: '',
|
||||
e: ''
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 2
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
download(id) {}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
186
src/views/geneMgmt/sequence.vue
Normal file
186
src/views/geneMgmt/sequence.vue
Normal file
@@ -0,0 +1,186 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="文件名">
|
||||
<el-input
|
||||
v-model="searchForm.farm"
|
||||
placeholder="请输入文件名"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table :data="tableData" style="width: 100%" size="mini" border>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
<el-table-column prop="a" label="文件名"></el-table-column>
|
||||
<el-table-column prop="b" label="文件大小"></el-table-column>
|
||||
<el-table-column prop="c" label="上传时间"></el-table-column>
|
||||
<el-table-column prop="d" label="品种"></el-table-column>
|
||||
<el-table-column prop="e" label="文件状态"></el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>下载</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
farm: '',
|
||||
number: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
id: 0,
|
||||
a: 'CX_82010000990',
|
||||
b: '10.23MB',
|
||||
c: '2024-03-06',
|
||||
d: '九龙牦牛',
|
||||
e: '已上传'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
a: 'CX_82010000991',
|
||||
b: '8.6MB',
|
||||
c: '2024-03-06',
|
||||
d: '西门塔尔',
|
||||
e: '已上传'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: 'CX_82010000992',
|
||||
b: '21.23MB',
|
||||
c: '2024-03-06',
|
||||
d: '华西牛',
|
||||
e: '已上传'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: 'CX_82010000993',
|
||||
b: '13.21MB',
|
||||
c: '2024-03-06',
|
||||
d: '西门塔尔',
|
||||
e: '已上传'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
a: 'CX_82010000994',
|
||||
b: '15.3MB',
|
||||
c: '2024-03-06',
|
||||
d: '西藏高山牦牛',
|
||||
e: '已上传'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 5
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
download(id) {
|
||||
this.$message({
|
||||
message: '下载成功',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
335
src/views/index/index.vue
Normal file
335
src/views/index/index.vue
Normal file
@@ -0,0 +1,335 @@
|
||||
<template>
|
||||
<div style="padding: 0px 10px 10px 10px">
|
||||
<div class="formtitle">若尔盖养殖场</div>
|
||||
<div class="layouts">
|
||||
<div class="layoutsdiv">
|
||||
<div class="tile">总资源展示</div>
|
||||
<div class="echartsdiv">
|
||||
<!-- 总资源展示两个图表 -->
|
||||
<div id="Inventory" class="chartstyle"></div>
|
||||
<div id="Inventory1" class="chartstyle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layoutsdiv">
|
||||
<div class="tile">综合育种植</div>
|
||||
<div style="display: flex">
|
||||
<div
|
||||
class="echartsdiv"
|
||||
style="display: flex; flex-direction: column; width: 100%"
|
||||
>
|
||||
<!-- 综合育种植图表 -->
|
||||
<div id="Inventory2" class="chartstyle2"></div>
|
||||
<div style="font-weight: 600; width: 100%">群体育种值趋势图</div>
|
||||
</div>
|
||||
<div class="flexdiv">
|
||||
<div style="width: 100%; display: flex; justify-content: center">
|
||||
<div style="font-weight: bold; width: 70%">平均育种值</div>
|
||||
</div>
|
||||
<div class="tabsdata">
|
||||
<div class="tabs">
|
||||
<div>平均育种值</div>
|
||||
<div>132</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: center">
|
||||
<img
|
||||
style="width: 100%"
|
||||
src="https://smart-1251449951.cos.ap-guangzhou.myqcloud.com/iot_breed/farm/2024/08/30581be380a8e407b6a193bc04d1a5f52a.jpg"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layoutsdiv">
|
||||
<div class="tile">系谱分析</div>
|
||||
<div style="display: flex">
|
||||
<img
|
||||
style="width: 100%"
|
||||
src="https://smart-1251449951.cos.ap-guangzhou.myqcloud.com/iot_breed/farm/2024/08/303d04e7494f5e595cc624c05e03e57c4d.jpg"
|
||||
alt=""
|
||||
/>
|
||||
<!-- <div
|
||||
class="echartsdiv"
|
||||
style="display: flex; flex-direction: column; width: 100%"
|
||||
>
|
||||
<div
|
||||
id="Inventory2"
|
||||
style="height: 350px; text-align: center; width: 100%"
|
||||
></div>
|
||||
<div style="font-weight: 600; width: 100%">群体系统发育NJ树</div>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<div style="text-align: center">
|
||||
<img
|
||||
style="width: 80%"
|
||||
src=""
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="layoutsdiv">
|
||||
<div class="tile">遗传病风险警告</div>
|
||||
<div style="display: flex">
|
||||
<div
|
||||
class="echartsdiv"
|
||||
style="display: flex; flex-direction: column; width: 100%"
|
||||
>
|
||||
<!-- 遗传病风险警告图表 -->
|
||||
<div id="Inventory3" class="chartstyle3"></div>
|
||||
<div style="font-weight: 600; width: 100%">
|
||||
群体遗传比风险概率图
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexdiv">
|
||||
<!-- <div style="width: 100%; display: flex; justify-content: center">
|
||||
<div style="font-weight: bold; width: 70%">群体遗传病风险数量统计表</div>
|
||||
</div> -->
|
||||
<!-- <div class="tabsdata">
|
||||
<div class="tabs">
|
||||
<div>平均育种值</div>
|
||||
<div>132</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<img
|
||||
style="width: 100%"
|
||||
src="https://smart-1251449951.cos.ap-guangzhou.myqcloud.com/iot_breed/farm/2024/08/30ed0c054a729a918a324a884a4e920ca7.jpg"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import * as echarts from 'echarts'
|
||||
export default {
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {},
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
var myChart = echarts.init(document.getElementById('Inventory'))
|
||||
myChart.setOption({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, 0.01]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: ['奶牛', '种母牛', '种公牛', '犊牛']
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '种质资源',
|
||||
type: 'bar',
|
||||
data: [35, 140, 300, 420]
|
||||
}
|
||||
]
|
||||
})
|
||||
var myChart1 = echarts.init(document.getElementById('Inventory1'))
|
||||
myChart1.setOption({
|
||||
title: {
|
||||
text: '基因数据资源',
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
left: 'center',
|
||||
top: 'bottom',
|
||||
data: ['西门塔尔牛', '九龙牦牛', '安格斯牛', '黄牛', '荷斯坦牛']
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'pie',
|
||||
radius: [30, 110],
|
||||
roseType: 'area',
|
||||
data: [
|
||||
{ value: 40, name: '西门塔尔牛' },
|
||||
{ value: 30, name: '九龙牦牛' },
|
||||
{ value: 15, name: '安格斯牛' },
|
||||
{ value: 10, name: '黄牛' },
|
||||
{ value: 5, name: '荷斯坦牛' }
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
var myChart2 = echarts.init(document.getElementById('Inventory2'))
|
||||
myChart2.setOption({
|
||||
title: {
|
||||
text: '育种值'
|
||||
},
|
||||
tooltip: {},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: [
|
||||
'82010000990',
|
||||
'82010000991',
|
||||
'82010000992',
|
||||
'82010000993',
|
||||
'82010000994',
|
||||
'82010000995',
|
||||
'82010000996',
|
||||
'82010000997'
|
||||
]
|
||||
},
|
||||
yAxis: { type: 'value' },
|
||||
series: [
|
||||
{
|
||||
// name: '销量',
|
||||
type: 'line',
|
||||
data: [
|
||||
255.85, 252.16, 259.69, 250.76, 264.34, 255.24, 260.27, 238.7
|
||||
],
|
||||
areaStyle: {}
|
||||
}
|
||||
]
|
||||
})
|
||||
var myChart3 = echarts.init(document.getElementById('Inventory3'))
|
||||
myChart3.setOption({
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left',
|
||||
data: ['低风险', '高风险']
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '占比',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['50%', '60%'],
|
||||
data: [
|
||||
{ value: 25, name: '低风险' },
|
||||
{ value: 75, name: '高风险' }
|
||||
],
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.formtitle {
|
||||
font-weight: bold;
|
||||
padding-left: 12px;
|
||||
padding-top: 10px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.layouts {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.layouts > .layoutsdiv {
|
||||
width: 47.5%;
|
||||
margin-top: 10px;
|
||||
background: white;
|
||||
padding: 18px 14px 18px 16px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.tile {
|
||||
border-bottom: 1px solid #29272718;
|
||||
padding-bottom: 10px;
|
||||
font-weight: 600;
|
||||
color: rgb(49, 49, 49);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.echartsdiv {
|
||||
display: flex;
|
||||
.chartstyle {
|
||||
height: 400px;
|
||||
text-align: center;
|
||||
}
|
||||
.chartstyle2 {
|
||||
height: 350px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.chartstyle3 {
|
||||
height: 350px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.echartsdiv div {
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.tabsdata {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-top: 30px;
|
||||
.tabs {
|
||||
width: 80%;
|
||||
border: 1px solid #a6c5ee;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #468ce7;
|
||||
background: #f2f6fb;
|
||||
}
|
||||
.tabs div {
|
||||
border: 1px solid #a6c5ee;
|
||||
text-align: center;
|
||||
width: 60%;
|
||||
padding: 8px 16px 8px 16px;
|
||||
}
|
||||
}
|
||||
.flexdiv {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
@media (max-width: 1669px) {
|
||||
.layouts > .layoutsdiv {
|
||||
width: 47% !important;
|
||||
}
|
||||
.chartstyle {
|
||||
height: 300px !important;
|
||||
}
|
||||
.chartstyle2 {
|
||||
height: 310px !important;
|
||||
}
|
||||
.chartstyle3 {
|
||||
height: 270px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -23,10 +23,57 @@
|
||||
:default-active="activeIndex"
|
||||
:unique-opened="true"
|
||||
>
|
||||
<el-menu-item index="/index/index">
|
||||
<i class="el-icon-price-tag"></i>
|
||||
<span slot="title">首页</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="/disease-resistance/disease-resistance">
|
||||
<i class="el-icon-orange"></i>
|
||||
<span slot="title">遗传病风险</span>
|
||||
</el-menu-item>
|
||||
<el-submenu index="66">
|
||||
<template slot="title">
|
||||
<i class="el-icon-printer"></i>
|
||||
<span slot="title">基因管理</span>
|
||||
</template>
|
||||
<el-menu-item-group>
|
||||
<el-menu-item index="/geneMgmt/SPN">SPN位点管理</el-menu-item>
|
||||
<el-menu-item index="/geneMgmt/SPNPanel"
|
||||
>SPN Panel位点管理</el-menu-item
|
||||
>
|
||||
<el-menu-item index="/geneMgmt/sequence">原始测序数据</el-menu-item>
|
||||
</el-menu-item-group>
|
||||
</el-submenu>
|
||||
<el-submenu index="67">
|
||||
<template slot="title">
|
||||
<i class="el-icon-news"></i>
|
||||
<span slot="title">繁育管理</span>
|
||||
</template>
|
||||
<el-menu-item-group>
|
||||
<el-menu-item index="/breedMgmt/BLUP">BLUP</el-menu-item>
|
||||
<el-menu-item index="/breedMgmt/paternityTest">亲子鉴定</el-menu-item>
|
||||
<el-menu-item index="/breedMgmt/lineage">血统管理</el-menu-item>
|
||||
</el-menu-item-group>
|
||||
</el-submenu>
|
||||
<el-submenu index="68">
|
||||
<template slot="title">
|
||||
<i class="el-icon-suitcase"></i>
|
||||
<span slot="title">进化分析</span>
|
||||
</template>
|
||||
<el-menu-item-group>
|
||||
<el-menu-item index="/phylogeneticAnalysis/evolutionaryTree"
|
||||
>进化树</el-menu-item
|
||||
>
|
||||
</el-menu-item-group>
|
||||
</el-submenu>
|
||||
<el-menu-item index="/archive-information/archive-information">
|
||||
<i class="el-icon-document"></i>
|
||||
<span slot="title">档案信息</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="/quick-Search/quick-Search">
|
||||
<i class="el-icon-folder-checked"></i>
|
||||
<span slot="title">快速查询</span>
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
</div>
|
||||
</template>
|
||||
@@ -37,7 +84,7 @@ export default {
|
||||
return {
|
||||
activeIndex: '/',
|
||||
isCollapse: false,
|
||||
system_name: '肉牛溯源系统',
|
||||
system_name: '基芯农育种',
|
||||
logo: '',
|
||||
index: 0,
|
||||
menuList: [], // 菜单权限列表
|
||||
|
||||
File diff suppressed because one or more lines are too long
207
src/views/phylogeneticAnalysis/evolutionaryTree.vue
Normal file
207
src/views/phylogeneticAnalysis/evolutionaryTree.vue
Normal file
@@ -0,0 +1,207 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="养殖场">
|
||||
<el-input
|
||||
v-model="searchForm.farm"
|
||||
placeholder="请输入养殖场"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.farm"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<el-table :data="tableData" style="width: 100%" size="mini" border>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="文件大小"></el-table-column>
|
||||
<el-table-column prop="d" label="创建时间"></el-table-column>
|
||||
<el-table-column prop="e" label="分析工具"></el-table-column>
|
||||
<el-table-column label="详情">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="download(scope.row.id)"
|
||||
class="detail-btn"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
farm: '',
|
||||
number: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
id: 1,
|
||||
a: '若尔盖',
|
||||
b: '82010000990',
|
||||
c: '45MB',
|
||||
d: '2024.03.06',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '40MB',
|
||||
d: '2024.03.06',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '42MB',
|
||||
d: '2024.03.27',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
a: '若尔盖',
|
||||
b: '82010000993',
|
||||
c: '35MB',
|
||||
d: '2024.08.02',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '40MB',
|
||||
d: '2024.05.03',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
a: '若尔盖',
|
||||
b: '82010000995',
|
||||
c: '50MB',
|
||||
d: '2024.04.23',
|
||||
e: 'PhyML'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
a: '若尔盖',
|
||||
b: '82010000996',
|
||||
c: '38MB',
|
||||
d: '2024.06.03',
|
||||
e: 'PhyML'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 2
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
searchClick() {},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
download(id) {
|
||||
this.$message({
|
||||
message: '下载成功',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
304
src/views/quick-Search/quick-Search.vue
Normal file
304
src/views/quick-Search/quick-Search.vue
Normal file
@@ -0,0 +1,304 @@
|
||||
<template>
|
||||
<div class="container-box">
|
||||
<div class="search-box">
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
class="demo-form-inline"
|
||||
label-width="auto"
|
||||
size="mini"
|
||||
>
|
||||
<el-form-item label="养殖场">
|
||||
<el-input
|
||||
v-model="searchForm.a"
|
||||
placeholder="请输入养殖场"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="标记编号">
|
||||
<el-input
|
||||
v-model="searchForm.b"
|
||||
placeholder="请输入标记编号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" icon="el-icon-search" @click="searchClick"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="warning" icon="el-icon-refresh" @click="resetClick"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="list-box" v-if="showtable">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
border
|
||||
:header-cell-style="{ textAlign: 'center', color: '#606266' }"
|
||||
:cell-style="cellStyle"
|
||||
>
|
||||
<el-table-column prop="a" label="养殖场"></el-table-column>
|
||||
<el-table-column prop="b" label="标记编号"></el-table-column>
|
||||
<el-table-column prop="c" label="综合育种指数"></el-table-column>
|
||||
<el-table-column label="系谱分析">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="detailClick(scope.row)"
|
||||
class="detail-btn"
|
||||
>详情</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="e" label="遗传病风险"></el-table-column>
|
||||
<el-table-column label="详情">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="report(scope.row)"
|
||||
class="detail-btn"
|
||||
>报告</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-box">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page="form.page"
|
||||
:page-size="form.pagesize"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-loading="loading"
|
||||
element-loading-text="加载中"
|
||||
v-else
|
||||
style="
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
padding: 50px 0px 50px 0px;
|
||||
background: white;
|
||||
"
|
||||
>
|
||||
<img
|
||||
style="width: 80%"
|
||||
src="https://smart-1251449951.cos.ap-guangzhou.myqcloud.com/iot_breed/farm/2024/08/307d7b147050a9475b2580aa1d1ae44476.jpg"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogVisible" width="40%">
|
||||
<div style="text-align: center">
|
||||
<div class="btmstyle">1</div>
|
||||
<div class="textstyle">
|
||||
<div>标记编号:213</div>
|
||||
<div>养殖场:234</div>
|
||||
<div>品种信息:43223</div>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
text-align: left;
|
||||
padding: 30px 0px 18px 14px;
|
||||
font-weight: bold;
|
||||
"
|
||||
>
|
||||
11
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false" size="mini">关闭</el-button>
|
||||
<el-button type="success" size="mini" @click="dialogVisible = false"
|
||||
>下载</el-button
|
||||
><el-button type="success" size="mini" @click="dialogVisible = false"
|
||||
>打印</el-button
|
||||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
showtable: false,
|
||||
dialogVisible: true,
|
||||
searchForm: {
|
||||
a: '',
|
||||
b: '',
|
||||
c: '',
|
||||
d: '',
|
||||
e: '',
|
||||
f: ''
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000990',
|
||||
c: '123',
|
||||
d: '详情',
|
||||
e: '未携带',
|
||||
f: '报告'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000991',
|
||||
c: '100',
|
||||
d: '详情',
|
||||
e: '未携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000992',
|
||||
c: '96',
|
||||
d: '详情',
|
||||
e: '携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000993',
|
||||
c: '85',
|
||||
d: '详情',
|
||||
e: '携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000994',
|
||||
c: '74',
|
||||
d: '详情',
|
||||
e: '未携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000995',
|
||||
c: '56',
|
||||
d: '详情',
|
||||
e: '携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000996',
|
||||
c: '58',
|
||||
d: '详情',
|
||||
e: '未携带'
|
||||
},
|
||||
{
|
||||
a: '若尔盖',
|
||||
b: '82010000997',
|
||||
c: '98',
|
||||
d: '详情',
|
||||
e: '携带'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
page: 1,
|
||||
pagesize: 20
|
||||
},
|
||||
total: 8
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
detailClick() {
|
||||
this.$router.push('/phylogeneticAnalysis/evolutionaryTree')
|
||||
},
|
||||
report() {
|
||||
this.dialogVisible = true
|
||||
},
|
||||
// 搜索
|
||||
searchClick() {
|
||||
this.loading = true
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
this.showtable = true
|
||||
}, 1500)
|
||||
},
|
||||
// 重置
|
||||
resetClick() {
|
||||
for (const key in this.searchForm) {
|
||||
this.searchForm[key] = ''
|
||||
}
|
||||
},
|
||||
// 条
|
||||
handleSizeChange(val) {
|
||||
this.form.pagesize = parseInt(val)
|
||||
},
|
||||
// 页
|
||||
handleCurrentChange(val) {
|
||||
this.form.page = parseInt(val)
|
||||
},
|
||||
// 当监测结果为 已携带 的状态,加上背景色,字体颜色
|
||||
cellStyle({ row, column, rowIndex, columnIndex }) {
|
||||
// 注意,这里返回的是一个对象
|
||||
if (row.result == '携带' && column.label == '监测结果') {
|
||||
return 'background:#d9001b;textAlign: center;color:#fff;'
|
||||
} else {
|
||||
return 'textAlign: center'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container-box {
|
||||
min-height: calc(100vh - 84px);
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.search-box {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.list-box {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 15px;
|
||||
.detail-btn {
|
||||
color: #67c23a;
|
||||
}
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-form-item {
|
||||
margin-bottom: 0px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.btmstyle {
|
||||
border-bottom: 2px solid #ebebeb;
|
||||
padding-bottom: 26px;
|
||||
}
|
||||
.textstyle {
|
||||
display: flex;
|
||||
padding: 24px;
|
||||
border-bottom: 2px solid #ebebeb;
|
||||
}
|
||||
.textstyle div {
|
||||
margin-right: 15%;
|
||||
}
|
||||
// table
|
||||
/deep/.el-table th.el-table__cell {
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
/deep/ .cell {
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
@@ -48,7 +48,7 @@ const cdn = {
|
||||
// 'https://code.jquery.com/jquery-3.6.0.min.js'
|
||||
],
|
||||
|
||||
css: ["https://unpkg.zhimg.com/element-ui@2.15.6/lib/theme-chalk/index.css"],
|
||||
css: ["https://unpkg.com/element-ui/lib/theme-chalk/index.css"],
|
||||
}
|
||||
module.exports = {
|
||||
assetsDir: 'assets',
|
||||
|
||||
Reference in New Issue
Block a user