|
|
@@ -0,0 +1,432 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-row type="flex">
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="专业组">
|
|
|
+ <el-select
|
|
|
+ v-model="formSearch.group"
|
|
|
+ placeholder="请选择"
|
|
|
+ value-key="GROUPCODE"
|
|
|
+ :disabled="isdisabled"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in configList"
|
|
|
+ :key="item.GROUPCODE"
|
|
|
+ :value="item"
|
|
|
+ :label="item.GROUPNAME"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="条码号">
|
|
|
+ <el-input
|
|
|
+ v-model="formSearch.tiaomahao"
|
|
|
+ placeholder="请输入"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="姓名">
|
|
|
+ <el-input
|
|
|
+ v-model="formSearch.xingming"
|
|
|
+ placeholder="请输入"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="查询日期">
|
|
|
+ <el-date-picker
|
|
|
+ :disabled="isdisabled"
|
|
|
+ v-model="formSearch.chaxunrqi"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择"
|
|
|
+ :clearable="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="7"> </el-col>
|
|
|
+ <el-col :span="1">
|
|
|
+ <el-button type="primary" size="mini" plain @click="searchClick">
|
|
|
+ 查询
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row type="flex">
|
|
|
+ <el-col>
|
|
|
+ <el-table
|
|
|
+ row-key="INSPECTION_ID"
|
|
|
+ ref="listable"
|
|
|
+ :data="lisDataFilter"
|
|
|
+ @select-all="handleSelectAll"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ :reserve-selection="true"
|
|
|
+ type="selection"
|
|
|
+ width="55"
|
|
|
+ />
|
|
|
+ <el-table-column :reserve-selection="true" label="专业组">
|
|
|
+ <template
|
|
|
+ ><span>{{ formSearch.group.GROUPNAME }}</span></template
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :reserve-selection="true"
|
|
|
+ label="条码"
|
|
|
+ prop="INSPECTION_ID"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :reserve-selection="true"
|
|
|
+ label="姓名"
|
|
|
+ prop="PATIENT_NAME"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :reserve-selection="true"
|
|
|
+ label="医嘱"
|
|
|
+ prop="TEST_ORDER_NAME"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ :reserve-selection="true"
|
|
|
+ label="保存时间"
|
|
|
+ prop="SAVE_DATE"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ layout="total,sizes,prev, pager, next,jumper"
|
|
|
+ :current-page="requestPage.pageNo"
|
|
|
+ :page-size="requestPage.limit"
|
|
|
+ :page-sizes="[10, 15, 20, 30, 50, 100]"
|
|
|
+ :total="lisData.length"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row type="flex" v-if="false">
|
|
|
+ <el-col>
|
|
|
+ <el-table ref="sumtable" :data="sumData">
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
+ <el-table-column label="主键" prop="id" />
|
|
|
+ <el-table-column label="外键" prop="parentId" />
|
|
|
+ <el-table-column label="状态" prop="shiFouGuoShen" />
|
|
|
+ <el-table-column label="专业组" prop="qiTa" />
|
|
|
+ <el-table-column label="保存时间" prop="baoCunShiJian" />
|
|
|
+ <el-table-column label="保存部门" prop="bianZhiBuMen" />
|
|
|
+ <el-table-column label="保存人" prop="bianZhiRen" />
|
|
|
+ <el-table-column label="保存数量" prop="heJi" />
|
|
|
+ <el-table-column label="保存期" prop="quanXie" />
|
|
|
+ <el-table-column label="截至日期" prop="naoJiYe" />
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import { getGroupConfig, getSampleList } from '@/api/platform/sample/sample'
|
|
|
+export default {
|
|
|
+ props: {
|
|
|
+ formData: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {}
|
|
|
+ },
|
|
|
+ readonly: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ },
|
|
|
+ params: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ formSearch: {
|
|
|
+ group: {},
|
|
|
+ tiaomahao: '',
|
|
|
+ xingming: '',
|
|
|
+ chaxunrqi: this.getFormattedDate(new Date())
|
|
|
+ },
|
|
|
+ configList: [],
|
|
|
+ lisData: [],
|
|
|
+ sumData: [],
|
|
|
+ listable: '',
|
|
|
+ requestPage: {
|
|
|
+ limit: 10,
|
|
|
+ pageNo: 1
|
|
|
+ },
|
|
|
+ multipleSelection: [],
|
|
|
+ isRead: false,
|
|
|
+ isdisabled: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ // 初始化时加载所有需要的数据
|
|
|
+ this.getConfigList()
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ lisDataFilter() {
|
|
|
+ console.log(this.lisData)
|
|
|
+ return this.lisData.slice(
|
|
|
+ (this.requestPage.pageNo - 1) * this.requestPage.limit,
|
|
|
+ (this.requestPage.pageNo - 1) * this.requestPage.limit +
|
|
|
+ this.requestPage.limit
|
|
|
+ )
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ 'formData.jyhypjlb': {
|
|
|
+ handler(value, old) {
|
|
|
+ if (value && value.length) {
|
|
|
+ this.sumData = value
|
|
|
+
|
|
|
+ if (value[0].id) {
|
|
|
+ //修改
|
|
|
+ this.isdisabled = true
|
|
|
+ this.formSearch.group = this.configList.find((item) => {
|
|
|
+ return (item.GROUPNAME = value[0].qiTa)
|
|
|
+ })
|
|
|
+ this.formSearch.chaxunrqi = value[0].baoCunShiJian
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true,
|
|
|
+ immediate: true
|
|
|
+ },
|
|
|
+ sumData: {
|
|
|
+ handler(value, old) {
|
|
|
+ this.$emit('change-data', 'jyhypjlb', value)
|
|
|
+ },
|
|
|
+ deep: true,
|
|
|
+ immediate: true
|
|
|
+ },
|
|
|
+ isdisabled: {
|
|
|
+ handler(value, old) {
|
|
|
+ if (value) {
|
|
|
+ this.searchClick()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
+ methods: {
|
|
|
+ //获取配置信息
|
|
|
+ getConfigList() {
|
|
|
+ this.configList = getSampleList()
|
|
|
+ // this.configList = [
|
|
|
+ // {
|
|
|
+ // SAVEDAY: '7',
|
|
|
+ // GROUPNAME: '茂源生化',
|
|
|
+ // GROUPCODE: 'G002',
|
|
|
+ // SORTID: '001'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // SAVEDAY: '14',
|
|
|
+ // GROUPNAME: '茂源免疫',
|
|
|
+ // GROUPCODE: 'G004',
|
|
|
+ // SORTID: '002'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // SAVEDAY: '7',
|
|
|
+ // GROUPNAME: '茂源临检',
|
|
|
+ // GROUPCODE: 'G032',
|
|
|
+ // SORTID: '003'
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
+ },
|
|
|
+ //获取lis信息
|
|
|
+ async searchClick() {
|
|
|
+ if (!this.formSearch.group) {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择专业组',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.formSearch.chaxunrqi) {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择查询日期',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.requestPage.limit = 10
|
|
|
+ this.requestPage.pageNo = 1
|
|
|
+
|
|
|
+ this.lisData = await getSampleList([
|
|
|
+ {
|
|
|
+ STATE: '1',
|
|
|
+ SAVE_DATE: this.formSearch.chaxunrqi.replace(/-/g, ''),
|
|
|
+ DESTROY_DATE: '',
|
|
|
+ GROUPCODE: this.formSearch.group.GROUPCODE,
|
|
|
+ INSPECTION_ID: this.formSearch.tiaomahao,
|
|
|
+ PATIENT_NAME: this.formSearch.xingming,
|
|
|
+ TEST_ORDER_NAME: ''
|
|
|
+ }
|
|
|
+ ])
|
|
|
+ // this.lisData = [
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规11',
|
|
|
+ // INSPECTION_ID: '20250720G03640621',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香11',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规22',
|
|
|
+ // INSPECTION_ID: '20250720G03640622',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香22',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640623',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640624',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640625',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640626',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640627',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640628',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640629',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640630',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640631',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // TEST_ORDER_NAME: '血常规33',
|
|
|
+ // INSPECTION_ID: '20250720G03640632',
|
|
|
+ // STATE: '1',
|
|
|
+ // PATIENT_NAME: '赵春香33',
|
|
|
+ // SAVE_DATE: '20250720',
|
|
|
+ // DESTROY_DATE: '20250727'
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
+ this.sumData[0].heJi = this.multipleSelection.length
|
|
|
+ this.sumData[0].qiTa = this.formSearch.group.GROUPNAME
|
|
|
+ this.sumData[0].baoCunShiJian = this.formSearch.chaxunrqi
|
|
|
+ this.sumData[0].quanXie = this.formSearch.group.SAVEDAY
|
|
|
+ this.sumData[0].naoJiYe = this.addNumDay(
|
|
|
+ this.formSearch.chaxunrqi,
|
|
|
+ Number(this.formSearch.group.SAVEDAY || 0)
|
|
|
+ )
|
|
|
+ },
|
|
|
+
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.multipleSelection = val
|
|
|
+ // console.log(this.multipleSelection)
|
|
|
+ this.sumData[0].heJi = this.multipleSelection.length
|
|
|
+ },
|
|
|
+ //全选事件
|
|
|
+ handleSelectAll(selection) {
|
|
|
+ this.lisData.forEach((row) => {
|
|
|
+ const select = this.$refs.listable.selection.find((select) => {
|
|
|
+ return select.INSPECTION_ID === row.INSPECTION_ID
|
|
|
+ })
|
|
|
+ if (!select) {
|
|
|
+ this.$refs.listable.toggleRowSelection(row, true)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 当前页码改变
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ this.requestPage.pageNo = val
|
|
|
+ },
|
|
|
+
|
|
|
+ // 页码选择器改变
|
|
|
+ handleSizeChange(val) {
|
|
|
+ this.requestPage.limit = val
|
|
|
+ this.requestPage.pageNo = 1
|
|
|
+ },
|
|
|
+
|
|
|
+ getFormattedDate() {
|
|
|
+ const date = new Date()
|
|
|
+ const year = date.getFullYear()
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0')
|
|
|
+ const day = String(date.getDate()).padStart(2, '0')
|
|
|
+ return `${year}-${month}-${day}`
|
|
|
+ },
|
|
|
+ addNumDay(dateStr, num) {
|
|
|
+ const date = new Date(dateStr)
|
|
|
+ date.setDate(date.getDate() + num)
|
|
|
+ const year = date.getFullYear()
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0')
|
|
|
+ const day = String(date.getDate()).padStart(2, '0')
|
|
|
+ return `${year}-${month}-${day}`
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped></style>
|