Browse Source

feat:[试验管理][物资列表]细胞、细菌列表

master
HanLong 19 hours ago
parent
commit
0dc08d8048
12 changed files with 417 additions and 10 deletions
  1. +10
    -0
      src/api/business/bacteria/bacteria.js
  2. +10
    -0
      src/api/business/cell/cell.js
  3. +4
    -1
      src/lang/en.js
  4. +9
    -0
      src/lang/en/business/study/cell.js
  5. +4
    -2
      src/lang/zh.js
  6. +9
    -0
      src/lang/zh/business/study/cell.js
  7. +5
    -1
      src/views/business/study/comp/wzlb.vue
  8. +179
    -0
      src/views/business/study/comp/wzlb/bacteriaList.vue
  9. +179
    -0
      src/views/business/study/comp/wzlb/cellList.vue
  10. +3
    -2
      src/views/business/study/comp/wzlb/gspList.vue
  11. +3
    -2
      src/views/business/study/comp/wzlb/sjList.vue
  12. +2
    -2
      vue.config.js

+ 10
- 0
src/api/business/bacteria/bacteria.js View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 查询试验-细菌列表
export function bacteria_studyList(query) {
return request({
url: '/system/business/bacteria/studyList',
method: 'get',
params: query
})
}

+ 10
- 0
src/api/business/cell/cell.js View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 查询试验-细胞列表
export function cell_studyList(query) {
return request({
url: '/system/business/cell/studyList',
method: 'get',
params: query
})
}

+ 4
- 1
src/lang/en.js View File

@ -31,6 +31,8 @@ import studyFormApply from './en/business/study/studyFormApply'
import studyRoom from './en/business/study/studyRoom' import studyRoom from './en/business/study/studyRoom'
//试验方法 //试验方法
import studyMethod from './en/business/study/studyMethod' import studyMethod from './en/business/study/studyMethod'
//物资列表-细胞、细菌
import cell from './en/business/study/cell'
//表单 //表单
import form from './en/business/form/form' import form from './en/business/form/form'
@ -152,7 +154,8 @@ export default {
studyRoom: studyRoom, studyRoom: studyRoom,
studyMethod: studyMethod, studyMethod: studyMethod,
nonTrial: nonTrial, nonTrial: nonTrial,
drug: drug
drug: drug,
cell: cell
}, },
form: form form: form
} }

+ 9
- 0
src/lang/en/business/study/cell.js View File

@ -0,0 +1,9 @@
export default {
mc: 'Name',
bh: 'ID',
ly: 'Source',
sssy: 'From Study',
sxr: 'Expiration',
tj: '体积',
cz: 'Dispose'
}

+ 4
- 2
src/lang/zh.js View File

@ -31,7 +31,8 @@ import studyFormApply from './zh/business/study/studyFormApply'
import studyRoom from './zh/business/study/studyRoom' import studyRoom from './zh/business/study/studyRoom'
//试验方法 //试验方法
import studyMethod from './zh/business/study/studyMethod' import studyMethod from './zh/business/study/studyMethod'
//物资列表-细胞、细菌
import cell from './zh/business/study/cell'
//表单 //表单
import form from './zh/business/form/form' import form from './zh/business/form/form'
@ -148,7 +149,8 @@ export default {
studyRoom: studyRoom, studyRoom: studyRoom,
studyMethod: studyMethod, studyMethod: studyMethod,
nonTrial: nonTrial, nonTrial: nonTrial,
drug: drug
drug: drug,
cell: cell
}, },
form: form form: form
} }

+ 9
- 0
src/lang/zh/business/study/cell.js View File

@ -0,0 +1,9 @@
export default {
mc: '名称',
bh: '编号',
ly: '来源',
sssy: '所属试验',
sxr: '失效日',
tj: '体积',
cz: '处置'
}

+ 5
- 1
src/views/business/study/comp/wzlb.vue View File

@ -42,6 +42,8 @@
<gspList v-if="active === 'gsplb'" :study="studyInfo" @showDetail="showDetailCallback" /> <gspList v-if="active === 'gsplb'" :study="studyInfo" @showDetail="showDetailCallback" />
<gyzjList v-if="active === 'gyzjlb'" :study="studyInfo" @showDetail="showDetailCallback" /> <gyzjList v-if="active === 'gyzjlb'" :study="studyInfo" @showDetail="showDetailCallback" />
<mjyList v-if="active === 'mjylb'" :study="studyInfo" @showDetail="showDetailCallback"/> <mjyList v-if="active === 'mjylb'" :study="studyInfo" @showDetail="showDetailCallback"/>
<cellList v-if="active === 'xblb'" :study="studyInfo" @showDetail="showDetailCallback"/>
<bacteriaList v-if="active === 'xjlb'" :study="studyInfo" @showDetail="showDetailCallback"/>
</div> </div>
</div> </div>
@ -54,6 +56,8 @@ import { study_info } from "@/api/business/study/study"
import gyzjList from './wzlb/gyzjList.vue' import gyzjList from './wzlb/gyzjList.vue'
import sjList from './wzlb/sjList.vue' import sjList from './wzlb/sjList.vue'
import gspList from './wzlb/gspList.vue' import gspList from './wzlb/gspList.vue'
import cellList from './wzlb/cellList.vue'
import bacteriaList from './wzlb/bacteriaList.vue'
export default { export default {
name: 'StudyWzlb', name: 'StudyWzlb',
props: { props: {
@ -73,7 +77,7 @@ export default {
} }
}, },
}, },
components: {gyzjList, sjList, gspList},
components: {gyzjList, sjList, gspList, cellList, bacteriaList},
data() { data() {
return { return {
showDetail: false, showDetail: false,

+ 179
- 0
src/views/business/study/comp/wzlb/bacteriaList.vue View File

@ -0,0 +1,179 @@
<template>
<div>
<!-- 细菌列表 -->
<div>
<div class="mjy" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<!-- 名称 -->
<el-form-item :label="$t('page.business.study.cell.mc') + ':'">
<el-input v-model="queryParams.mc" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.study.cell.bh') + ':'">
<el-input v-model="queryParams.bh" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 来源 -->
<el-form-item :label="$t('page.business.study.cell.ly') + ':'">
<el-input v-model="queryParams.ly" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 所属试验 -->
<el-form-item :label="$t('page.business.study.cell.sssy') + ':'">
<el-input v-model="queryParams.studyName" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 失效日 -->
<el-form-item :label="$t('page.business.study.cell.sxr') + ':'">
<el-date-picker v-model="daterange" class="chat-histogram-daterange" type="daterange" range-separator="-"
:start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')" value-format="yyyy-MM-dd"
@change="handleQuery" style="width: 250px;" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('form.reset') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.study.cell.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.tj')" align="center">
<template slot-scope="scope">
{{ scope.row.tj }}{{ scope.row.tjdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.study.cell.ly')" align="center" prop="ly"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.sxr')" align="center" prop="sxr"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.sssy')" align="center" prop="sssy" width="150px" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<!-- 详情 -->
<el-button type="text" @click="handleCz(scope.row)" >{{
$t('page.business.study.cell.cz') }}</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
<!-- 处置 -->
<Cz key="Cz" ref="Cz" @callback="handleQuery" />
</div>
</div>
</template>
<script>
import { bacteria_studyList } from "@/api/business/bacteria/bacteria"
import Cz from "@/views/business/resource/gsp/comps/gsp/Cz";
import moment from "moment";
export default {
name: "GspList",
components: { Cz },
data() {
return {
daterange: [],
loading: true,
single: true,
multiple: true,
showDetail: false,
total: 0,
list: [],
//
selectList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
jyzt: null,
studyId: null,
zjzt: null,
bh: null,
startDate: null,
endDate: null,
},
}
},
created() {
},
props: {
study: {
type: Object,
default: () => {
return {}
}
}
},
watch: {
study: {
handler(newVal) {
this.queryParams.studyId = newVal.id
this.handleQuery()
},
immediate: true,
deep: true
}
},
methods: {
//
handleCzyj(row) {
this.$refs.Cz.show(row)
},
closeXq() {
this.showDetail = false
this.$emit('showDetail', this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
//
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0] + ' 00:00:00'
this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
}
this.loading = true
bacteria_studyList(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.mjy {
background: #fff;
padding: 10px 10px;
}
</style>

+ 179
- 0
src/views/business/study/comp/wzlb/cellList.vue View File

@ -0,0 +1,179 @@
<template>
<div>
<!-- 细胞列表 -->
<div>
<div class="mjy" v-show="!showDetail">
<el-form :model="queryParams" ref="queryForm" class="search-area" :inline="true" label-width="88px">
<!-- 名称 -->
<el-form-item :label="$t('page.business.study.cell.mc') + ':'">
<el-input v-model="queryParams.mc" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 编号 -->
<el-form-item :label="$t('page.business.study.cell.bh') + ':'">
<el-input v-model="queryParams.bh" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 来源 -->
<el-form-item :label="$t('page.business.study.cell.ly') + ':'">
<el-input v-model="queryParams.ly" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 所属试验 -->
<el-form-item :label="$t('page.business.study.cell.sssy') + ':'">
<el-input v-model="queryParams.studyName" clearable @change="handleQuery"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
<!-- 失效日 -->
<el-form-item :label="$t('page.business.study.cell.sxr') + ':'">
<el-date-picker v-model="daterange" class="chat-histogram-daterange" type="daterange" range-separator="-"
:start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')" value-format="yyyy-MM-dd"
@change="handleQuery" style="width: 250px;" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('form.reset') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.study.cell.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.tj')" align="center">
<template slot-scope="scope">
{{ scope.row.tj }}{{ scope.row.tjdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.study.cell.ly')" align="center" prop="ly"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.sxr')" align="center" prop="sxr"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.study.cell.sssy')" align="center" prop="sssy" width="150px" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center"
class-name="small-padding fixed-width" width="250px">
<template slot-scope="scope">
<!-- 详情 -->
<el-button type="text" @click="handleCz(scope.row)" >{{
$t('page.business.study.cell.cz') }}</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
<!-- 处置 -->
<Cz key="Cz" ref="Cz" @callback="handleQuery" />
</div>
</div>
</template>
<script>
import { cell_studyList } from "@/api/business/cell/cell"
import Cz from "@/views/business/resource/gsp/comps/gsp/Cz";
import moment from "moment";
export default {
name: "GspList",
components: { Cz },
data() {
return {
daterange: [],
loading: true,
single: true,
multiple: true,
showDetail: false,
total: 0,
list: [],
//
selectList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
mc: null,
jyzt: null,
studyId: null,
zjzt: null,
bh: null,
startDate: null,
endDate: null,
},
}
},
created() {
},
props: {
study: {
type: Object,
default: () => {
return {}
}
}
},
watch: {
study: {
handler(newVal) {
this.queryParams.studyId = newVal.id
this.handleQuery()
},
immediate: true,
deep: true
}
},
methods: {
//
handleCzyj(row) {
this.$refs.Cz.show(row)
},
closeXq() {
this.showDetail = false
this.$emit('showDetail', this.showDetail)
this.handleQuery()
},
//
handleXq(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
//
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0] + ' 00:00:00'
this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
}
this.loading = true
cell_studyList(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
})
},
//
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
//
resetQuery() {
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.mjy {
background: #fff;
padding: 10px 10px;
}
</style>

+ 3
- 2
src/views/business/study/comp/wzlb/gspList.vue View File

@ -196,8 +196,8 @@ export default {
// //
getList() { getList() {
if (this.daterange != null && this.daterange.length > 0) { if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
this.queryParams.startDate = this.daterange[0] + ' 00:00:00'
this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
} else { } else {
this.queryParams.startDate = '' this.queryParams.startDate = ''
this.queryParams.endDate = '' this.queryParams.endDate = ''
@ -216,6 +216,7 @@ export default {
}, },
// //
resetQuery() { resetQuery() {
this.daterange = []
this.resetForm("queryForm") this.resetForm("queryForm")
this.handleQuery() this.handleQuery()
} }

+ 3
- 2
src/views/business/study/comp/wzlb/sjList.vue View File

@ -190,8 +190,8 @@ export default {
// //
getList() { getList() {
if (this.daterange != null && this.daterange.length > 0) { if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
this.queryParams.startDate = this.daterange[0] + ' 00:00:00'
this.queryParams.endDate = this.daterange[1] + ' 23:59:59'
} else { } else {
this.queryParams.startDate = '' this.queryParams.startDate = ''
this.queryParams.endDate = '' this.queryParams.endDate = ''
@ -210,6 +210,7 @@ export default {
}, },
// //
resetQuery() { resetQuery() {
this.daterange = []
this.resetForm("queryForm") this.resetForm("queryForm")
this.handleQuery() this.handleQuery()
} }

+ 2
- 2
vue.config.js View File

@ -34,8 +34,8 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:8080`,
target: `http://39.99.251.173:8080`,
target: `http://localhost:8080`,
// target: `http://39.99.251.173:8080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''

Loading…
Cancel
Save