靶值
This commit is contained in:
parent
18bf54c3e4
commit
d8197cfb4d
@ -107,6 +107,14 @@ export function queryValXmdh(data?: Object) {
|
|||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 保存质控品参数
|
||||||
|
export function saveBtQcSample(data?: Object) {
|
||||||
|
return request({
|
||||||
|
url: '/qc/saveQcSample',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
// 查询质控品录入
|
// 查询质控品录入
|
||||||
export function getqcval(data?: Object) {
|
export function getqcval(data?: Object) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
import { ElLoading, ElMessage } from 'element-plus'
|
||||||
|
|
||||||
// 查询数据列表
|
// 查询数据列表
|
||||||
export function queryLabPatList(query?: Object) {
|
export function queryLabPatList(query?: Object) {
|
||||||
@ -154,10 +155,23 @@ export function printsample(query?: Object) {
|
|||||||
|
|
||||||
// 打印报告单
|
// 打印报告单
|
||||||
export function printListwork(query?: Object) {
|
export function printListwork(query?: Object) {
|
||||||
|
// 1. 开启 loading 效果
|
||||||
|
const loadingInstance = ElLoading.service({
|
||||||
|
lock: true,
|
||||||
|
text: '数据加载中...',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
})
|
||||||
|
|
||||||
|
// 2. 发起请求并处理 loading 关闭
|
||||||
return request({
|
return request({
|
||||||
url: '/liswork/print',
|
url: '/liswork/print',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
|
}).finally(() => {
|
||||||
|
loadingInstance.close()
|
||||||
|
}).catch((error: any) => {
|
||||||
|
ElMessage.error('数据加载失败,请稍后重试')
|
||||||
|
throw error
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 查询默认值
|
// 查询默认值
|
||||||
|
|||||||
@ -146,7 +146,7 @@ const handleDataEcho = () => {
|
|||||||
} else if (props.tableData) {
|
} else if (props.tableData) {
|
||||||
row = props.tableData?.find((item: any) => props.objKey && item[props.objKey] === props.data)
|
row = props.tableData?.find((item: any) => props.objKey && item[props.objKey] === props.data)
|
||||||
}
|
}
|
||||||
selectShowValue.value = row ? (props.keyValue ? `${row[props.value]} ${row[props.label]}` : (props.label ? row[props.label] : (props.value ? row[props.value] : ''))) : '';
|
selectShowValue.value = row ? (props.keyValue ? `${row[props.value]} ${row[props.label]}` : (props.label ? row[props.label] : (props.value ? row[props.value] : ''))) : props.data;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -4,10 +4,14 @@
|
|||||||
<div ref="compactForm">
|
<div ref="compactForm">
|
||||||
<el-row :gutter="10" class="compact-form" v-show="showSearch">
|
<el-row :gutter="10" class="compact-form" v-show="showSearch">
|
||||||
<el-form :model="queryParams" ref="queryRef" :inline="true" :size="aotuSize" :rules="queryRules">
|
<el-form :model="queryParams" ref="queryRef" :inline="true" :size="aotuSize" :rules="queryRules">
|
||||||
<el-form-item label="日期:" prop="failed1">
|
<el-form-item label="开始时间:" prop="st">
|
||||||
<el-date-picker v-model="queryParams.times" type="datetimerange" range-separator="-"
|
<el-date-picker v-model="queryParams.st" type="date" format="YYYY-MM-DD HH:mm:ss"
|
||||||
start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss"
|
value-format="YYYY-MM-DD HH:mm:ss" @change="handletime" />
|
||||||
value-format="YYYY-MM-DD HH:mm:ss" @change="handletime" style="width: 28rem;" />
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="结束时间:" prop="et">
|
||||||
|
<el-date-picker v-model="queryParams.et" type="date" format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss" @change="handletime" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item label="医疗机构:" prop="yljg">
|
<!-- <el-form-item label="医疗机构:" prop="yljg">
|
||||||
@ -17,7 +21,7 @@
|
|||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="条码状态:" prop="zt">
|
<el-form-item label="条码状态:" prop="zt">
|
||||||
<el-select v-model="queryParams.zt" placeholder="请选择" style="width: 8rem;" clearable>
|
<el-select v-model="queryParams.zt" placeholder="请选择" style="width: 8rem;" clearable>
|
||||||
<el-option v-for="item in dictData.ST" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option v-for="item in lis_reqcx_type" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="queryType">
|
<el-form-item label="" prop="queryType">
|
||||||
@ -68,8 +72,6 @@
|
|||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="warning" :size="aotuSize" plain @click="sendSampleHandle">清单打印</el-button>
|
<el-button type="warning" :size="aotuSize" plain @click="sendSampleHandle">清单打印</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <right-toolbar v-model:showSearch="showSearch" @updateColumns="updateColumns" @queryTable="handleQuery"
|
|
||||||
:columns="columns"></right-toolbar> -->
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<CustomVxeTable :table-data="tableData" :loading="loading" :columns="columns" @current-change="rowHandle"
|
<CustomVxeTable :table-data="tableData" :loading="loading" :columns="columns" @current-change="rowHandle"
|
||||||
@ -80,7 +82,7 @@
|
|||||||
<svg-icon v-if="row.zt != 1" icon-class="lvgou" />
|
<svg-icon v-if="row.zt != 1" icon-class="lvgou" />
|
||||||
</template>
|
</template>
|
||||||
<template #jzbz="{ row }">
|
<template #jzbz="{ row }">
|
||||||
{{ row.jzbz == '1' ? '急' : '' }}
|
<div style="color: #f00;"> {{ row.jzbz == '1' ? '急' : '' }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template #jjzt="{ row }">
|
<template #jjzt="{ row }">
|
||||||
{{ row.jjzt == '1' ? '计价' : '无' }}
|
{{ row.jjzt == '1' ? '计价' : '无' }}
|
||||||
@ -185,7 +187,9 @@ const userStore = useUserStore()
|
|||||||
const printStore = usePrintStore();
|
const printStore = usePrintStore();
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
import { getDicts } from '@/api/system/dict/data'
|
import { getDicts } from '@/api/system/dict/data'
|
||||||
|
//@ts-ignore
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const { lis_reqcx_type } = proxy.useDict("lis_reqcx_type"); //参数类别
|
||||||
const compactForm = ref<HTMLElement | null>(null);
|
const compactForm = ref<HTMLElement | null>(null);
|
||||||
const lisReqs: any = ref([])
|
const lisReqs: any = ref([])
|
||||||
const nickName = ref('')
|
const nickName = ref('')
|
||||||
@ -194,7 +198,8 @@ const title = ref('采样登记')
|
|||||||
const sqhText = ref('')
|
const sqhText = ref('')
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
interface QueryParams {
|
interface QueryParams {
|
||||||
times: string[]; // 明确类型为字符串元组
|
st: string;
|
||||||
|
et: string;
|
||||||
yljg: string;
|
yljg: string;
|
||||||
zt: string;
|
zt: string;
|
||||||
queryType: string;
|
queryType: string;
|
||||||
@ -204,8 +209,8 @@ interface QueryParams {
|
|||||||
}
|
}
|
||||||
// 提交表单数据
|
// 提交表单数据
|
||||||
const queryParams = reactive<QueryParams>({
|
const queryParams = reactive<QueryParams>({
|
||||||
times: ['2025-07-18 00:00:00', '2025-07-18 23:59:59'],
|
st: '2025-07-18 00:00:00',
|
||||||
// times: [],
|
et: '2025-07-18 23:59:59',
|
||||||
yljg: '1',
|
yljg: '1',
|
||||||
zt: '',
|
zt: '',
|
||||||
queryType: '',
|
queryType: '',
|
||||||
@ -306,9 +311,9 @@ const cellStyleHd = ({ row, column, rowIndex, columnIndex }: {
|
|||||||
columnIndex: number;
|
columnIndex: number;
|
||||||
}) => {
|
}) => {
|
||||||
// console.log(row, column, rowIndex, columnIndex);
|
// console.log(row, column, rowIndex, columnIndex);
|
||||||
if (column.title == "急" && row.jzbz == "1") {
|
// if (column.title == "急" && row.jzbz == "1") {
|
||||||
return { color: '#f00' };
|
// return { backgroundColor: `transparent !important`, color: '#f00' };
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (column.title == "类别") {
|
if (column.title == "类别") {
|
||||||
const bgColor = classCom.decimalToHexColor(row.bkcolor);
|
const bgColor = classCom.decimalToHexColor(row.bkcolor);
|
||||||
@ -329,6 +334,12 @@ const rowClassNameHd = ({ row, rowIndex }: {
|
|||||||
row: any;
|
row: any;
|
||||||
rowIndex: number;
|
rowIndex: number;
|
||||||
}) => {
|
}) => {
|
||||||
|
if (row.zt.trim()) {
|
||||||
|
const bgColor = lisReqs.value.find((item: any) => item.value == row.zt.trim())?.elTagClass || '#FFF';
|
||||||
|
return {
|
||||||
|
backgroundColor: `${bgColor} !important`,
|
||||||
|
};
|
||||||
|
}
|
||||||
return 'custom-row-class'; // 返回自定义类名
|
return 'custom-row-class'; // 返回自定义类名
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -590,14 +601,13 @@ const timeDate = () => {
|
|||||||
// 计算前6天的日期(当天 + 前6天 = 7天)
|
// 计算前6天的日期(当天 + 前6天 = 7天)
|
||||||
const startOfWeek = today.subtract(6, 'day');
|
const startOfWeek = today.subtract(6, 'day');
|
||||||
|
|
||||||
const startDate = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD HH:mm:ss');
|
queryParams.st = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD HH:mm:ss');
|
||||||
const endDate = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD HH:mm:ss');
|
queryParams.et = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
|
||||||
queryParams.times = [startDate, endDate];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
timeDate()
|
// timeDate()
|
||||||
|
|
||||||
queryParams.ksdh = (route.query.deptcode as string) ? (route.query.deptcode as string) : '';
|
queryParams.ksdh = (route.query.deptcode as string) ? (route.query.deptcode as string) : '';
|
||||||
queryParams.userid = (route.query.userid as string) ? (route.query.userid as string) : '';
|
queryParams.userid = (route.query.userid as string) ? (route.query.userid as string) : '';
|
||||||
@ -641,12 +651,11 @@ const formatDict = (v: string, dictType: string) => {
|
|||||||
|
|
||||||
|
|
||||||
const handletime = (val: Array<string>) => {
|
const handletime = (val: Array<string>) => {
|
||||||
// console.log('时间', val);
|
|
||||||
// 校验日期格式
|
// 校验日期格式
|
||||||
const dayDiff = getDayDiff(val[0], val[1]);
|
const dayDiff = getDayDiff(queryParams.st, queryParams.et);
|
||||||
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
||||||
//校验是否超过7天
|
//校验是否超过7天
|
||||||
if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
// if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成条码
|
// 生成条码
|
||||||
@ -654,17 +663,11 @@ const printHandle = () => {
|
|||||||
const data = {
|
const data = {
|
||||||
dept: queryParams.ksdh,
|
dept: queryParams.ksdh,
|
||||||
userid: queryParams.userid,
|
userid: queryParams.userid,
|
||||||
st: '',
|
st: queryParams.st,
|
||||||
et: '',
|
et: queryParams.et,
|
||||||
yljg: queryParams.yljg
|
yljg: queryParams.yljg
|
||||||
}
|
}
|
||||||
if (queryParams.times && queryParams.times.length) {
|
|
||||||
data.st = queryParams.times[0]
|
|
||||||
data.et = queryParams.times[1]
|
|
||||||
} else {
|
|
||||||
data.st = ''
|
|
||||||
data.et = ''
|
|
||||||
}
|
|
||||||
addObj(data).then((res: any) => {
|
addObj(data).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
getList()
|
getList()
|
||||||
@ -689,8 +692,8 @@ const getList = () => {
|
|||||||
const data = {
|
const data = {
|
||||||
dept: queryParams.ksdh,
|
dept: queryParams.ksdh,
|
||||||
userid: queryParams.userid,
|
userid: queryParams.userid,
|
||||||
st: queryParams.times[0],
|
st: queryParams.st,
|
||||||
et: queryParams.times[1],
|
et: queryParams.et,
|
||||||
yljg: queryParams.yljg,
|
yljg: queryParams.yljg,
|
||||||
queryType: queryParams.queryType,
|
queryType: queryParams.queryType,
|
||||||
queryValue: queryParams.queryValue,
|
queryValue: queryParams.queryValue,
|
||||||
@ -702,19 +705,13 @@ const getList = () => {
|
|||||||
if (!data.userid) return ElMessage.warning('用户userid不能为空!')
|
if (!data.userid) return ElMessage.warning('用户userid不能为空!')
|
||||||
|
|
||||||
// 校验日期格式
|
// 校验日期格式
|
||||||
const dayDiff = getDayDiff(queryParams.times[0], queryParams.times[1]);
|
const dayDiff = getDayDiff(queryParams.st, queryParams.et);
|
||||||
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
||||||
|
|
||||||
|
|
||||||
//校验是否超过7天
|
//校验是否超过7天
|
||||||
if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
// if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
||||||
if (queryParams.times && queryParams.times.length > 0) {
|
|
||||||
data.st = queryParams.times[0]
|
|
||||||
data.et = queryParams.times[1]
|
|
||||||
} else {
|
|
||||||
data.st = ''
|
|
||||||
data.et = ''
|
|
||||||
}
|
|
||||||
|
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
fetchCodeList(data).then((response: any) => {
|
fetchCodeList(data).then((response: any) => {
|
||||||
|
|||||||
@ -6,9 +6,13 @@
|
|||||||
<el-form :model="queryParams" ref="queryRef" label-width="100px" :rules="queryRules" style="width: 100%;">
|
<el-form :model="queryParams" ref="queryRef" label-width="100px" :rules="queryRules" style="width: 100%;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="日期:" prop="times">
|
<el-form-item label="开始时间:" prop="st">
|
||||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-"
|
<el-date-picker v-model="queryParams.st" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
||||||
start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
@change="handletime" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="结束时间:" prop="et">
|
||||||
|
<el-date-picker v-model="queryParams.et" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
||||||
@change="handletime" />
|
@change="handletime" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -199,7 +203,8 @@ const options = ref([
|
|||||||
{ label: '复制正常数据', value: 'Y' },
|
{ label: '复制正常数据', value: 'Y' },
|
||||||
])
|
])
|
||||||
interface QueryParams {
|
interface QueryParams {
|
||||||
times: string[]; // 明确类型为字符串元组
|
st: string,
|
||||||
|
et: string,
|
||||||
alarmflag: boolean,
|
alarmflag: boolean,
|
||||||
jzbz: boolean,
|
jzbz: boolean,
|
||||||
ksdh: string,
|
ksdh: string,
|
||||||
@ -215,8 +220,10 @@ interface QueryParams {
|
|||||||
|
|
||||||
// 提交表单数据
|
// 提交表单数据
|
||||||
const queryParams = reactive<QueryParams>({
|
const queryParams = reactive<QueryParams>({
|
||||||
times: ['2025-08-19', '2025-08-19'],
|
// times: ['2025-08-19', '2025-08-19'],
|
||||||
// ksdh: '0203',
|
// ksdh: '0203',
|
||||||
|
st: '',
|
||||||
|
et: '',
|
||||||
ksdh: '0210',
|
ksdh: '0210',
|
||||||
brlyname: '',
|
brlyname: '',
|
||||||
sqh: '25080109476',
|
sqh: '25080109476',
|
||||||
@ -246,10 +253,10 @@ const queryRules = ref({
|
|||||||
const handletime = (val: Array<string>) => {
|
const handletime = (val: Array<string>) => {
|
||||||
// console.log('时间', val);
|
// console.log('时间', val);
|
||||||
// 校验日期格式
|
// 校验日期格式
|
||||||
const dayDiff = getDayDiff(val[0], val[1]);
|
const dayDiff = getDayDiff(queryParams.st, queryParams.et);
|
||||||
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
||||||
//校验是否超过7天
|
//校验是否超过7天
|
||||||
if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
// if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 时间线数据
|
// 时间线数据
|
||||||
@ -846,10 +853,10 @@ onMounted(async () => {
|
|||||||
// 计算前6天的日期(当天 + 前6天 = 7天)
|
// 计算前6天的日期(当天 + 前6天 = 7天)
|
||||||
const startOfWeek = today.subtract(6, 'day');
|
const startOfWeek = today.subtract(6, 'day');
|
||||||
|
|
||||||
const startDate = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD');
|
queryParams.st = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD');
|
||||||
const endDate = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD');
|
queryParams.et = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD');
|
||||||
|
|
||||||
|
|
||||||
queryParams.times = [startDate, endDate];
|
|
||||||
queryParams.ksdh = (route.query.deptcode as string) ? (route.query.deptcode as string) : '';
|
queryParams.ksdh = (route.query.deptcode as string) ? (route.query.deptcode as string) : '';
|
||||||
queryParams.userid = (route.query.userid as string) ? (route.query.userid as string) : '';
|
queryParams.userid = (route.query.userid as string) ? (route.query.userid as string) : '';
|
||||||
queryParams.brdh = (route.query.brdh as string) ? (route.query.brdh as string) : '';
|
queryParams.brdh = (route.query.brdh as string) ? (route.query.brdh as string) : '';
|
||||||
@ -899,8 +906,8 @@ const getList = () => {
|
|||||||
brdh: queryParams.brdh,
|
brdh: queryParams.brdh,
|
||||||
ch: queryParams.ch,
|
ch: queryParams.ch,
|
||||||
userid: queryParams.userid,
|
userid: queryParams.userid,
|
||||||
st: '',
|
st: queryParams.st,
|
||||||
et: '',
|
et: queryParams.et,
|
||||||
yljg: queryParams.yljg,
|
yljg: queryParams.yljg,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -908,19 +915,12 @@ const getList = () => {
|
|||||||
if (!data.yljg) return ElMessage.error('医疗机构yljg不能为空');
|
if (!data.yljg) return ElMessage.error('医疗机构yljg不能为空');
|
||||||
if (!data.userid) return ElMessage.error('用户userid不能为空');
|
if (!data.userid) return ElMessage.error('用户userid不能为空');
|
||||||
// 校验日期格式
|
// 校验日期格式
|
||||||
const dayDiff = getDayDiff(queryParams.times[0], queryParams.times[1]);
|
const dayDiff = getDayDiff(queryParams.st, queryParams.et);
|
||||||
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
if (dayDiff === -1) return ElMessage.warning('请选择有效的日期范围');
|
||||||
|
|
||||||
//校验是否超过7天
|
//校验是否超过7天
|
||||||
if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
// if (dayDiff > 7) return ElMessage.warning('查询时间范围不能超过7天,请重新选择');
|
||||||
|
|
||||||
if (queryParams.times && queryParams.times.length) {
|
|
||||||
data.st = queryParams.times[0]
|
|
||||||
data.et = queryParams.times[1]
|
|
||||||
} else {
|
|
||||||
data.st = ''
|
|
||||||
data.et = ''
|
|
||||||
}
|
|
||||||
loading.value = true
|
loading.value = true
|
||||||
reportList(data).then((res: any) => {
|
reportList(data).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
|
|||||||
@ -84,6 +84,9 @@
|
|||||||
<template #dybz="{ row }">
|
<template #dybz="{ row }">
|
||||||
<svg-icon v-if="row.dybz == 1" icon-class="lvgou" />
|
<svg-icon v-if="row.dybz == 1" icon-class="lvgou" />
|
||||||
</template>
|
</template>
|
||||||
|
<template #jgbz="{ row }">
|
||||||
|
<el-checkbox :model-value="row.jgbz == '2'" readonly />
|
||||||
|
</template>
|
||||||
<template #alarmflag="{ row }">
|
<template #alarmflag="{ row }">
|
||||||
{{ row.alarmflag == 1 ? '危' : '' }}
|
{{ row.alarmflag == 1 ? '危' : '' }}
|
||||||
</template>
|
</template>
|
||||||
@ -217,24 +220,38 @@ const tableData = ref([])
|
|||||||
const columns = ref([
|
const columns = ref([
|
||||||
{ type: 'selection', field: '', title: '', resizable: true, align: 'center', width: 40 },
|
{ type: 'selection', field: '', title: '', resizable: true, align: 'center', width: 40 },
|
||||||
{ field: 'dybz', title: '印', align: 'center', resizable: true, slotName: 'dybz', width: 40 },
|
{ field: 'dybz', title: '印', align: 'center', resizable: true, slotName: 'dybz', width: 40 },
|
||||||
{ field: 'jzbz', title: '急', align: 'center', resizable: true, slotName: 'jzbz', width: 40 },
|
{ field: 'jgbz', title: '审', align: 'center', resizable: true, slotName: 'jgbz', width: 40 },
|
||||||
{ field: 'alarmflag', title: '危', align: 'center', resizable: true, slotName: 'alarmflag', width: 40 },
|
{ field: 'yljg', title: '医疗机构', align: 'center', resizable: true, width: 130 },
|
||||||
{ field: 'brdh', title: '病人代号', align: 'center', resizable: true, sortable: true, width: 100 },
|
{ field: 'yqdl', title: '检验仪器', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'brxm', title: '病人姓名', align: 'center', resizable: true, width: 60 },
|
{ field: 'jyrqname', title: '标本日期', align: 'center', resizable: true, width: 80 },
|
||||||
|
{ field: 'ybh', title: '标本号', align: 'center', resizable: true, width: 60 },
|
||||||
|
// { field: 'jzbz', title: '急', align: 'center', resizable: true, slotName: 'jzbz', width: 40 },
|
||||||
|
// { field: 'alarmflag', title: '危', align: 'center', resizable: true, slotName: 'alarmflag', width: 40 },
|
||||||
|
{ field: 'brxm', title: '姓名', align: 'center', resizable: true, width: 50 },
|
||||||
|
{ field: 'brdh', title: '住院号', align: 'center', resizable: true, sortable: true, width: 100 },
|
||||||
|
{ field: 'sqh', title: '申请号', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'brlyname', title: '病人类型', align: 'center', resizable: true, width: 60 },
|
||||||
{ field: 'brxbname', title: '性别', align: 'center', resizable: true, width: 40 },
|
{ field: 'brxbname', title: '性别', align: 'center', resizable: true, width: 40 },
|
||||||
|
{ field: 'nl', title: '年龄', align: 'center', resizable: true, width: 40 },
|
||||||
|
{ field: 'ksname', title: '科室', align: 'center', resizable: true, width: 90 },
|
||||||
{ field: 'ch', title: '床号', align: 'center', resizable: true, width: 50 },
|
{ field: 'ch', title: '床号', align: 'center', resizable: true, width: 50 },
|
||||||
{ field: 'jymd', title: '检验目的', align: 'center', resizable: true, width: 200 },
|
|
||||||
{ field: 'yblxname', title: '样本类型', align: 'center', resizable: true, width: 60 },
|
|
||||||
{ field: 'sqsj', title: '送检时间', align: 'center', resizable: true, width: 150 },
|
|
||||||
{ field: 'confirmtime', title: '报告时间', align: 'center', resizable: true, sortable: true, width: 150 },
|
|
||||||
{ field: 'sjysname', title: '送检医生', align: 'center', resizable: true, width: 80 },
|
{ field: 'sjysname', title: '送检医生', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'brlyname', title: '病人类型', align: 'center', resizable: true, width: 80 },
|
{ field: 'bbsjsj', title: '送检时间', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'yljg', title: '医疗机构', align: 'center', resizable: true, width: 150 },
|
{ field: 'cysj', title: '采样时间', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'jyrqname', title: '检验日期', align: 'center', resizable: true, width: 100 },
|
{ field: 'jysh', title: '检验医生', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'ybh', title: '样本号', align: 'center', resizable: true, width: 60 },
|
{ field: 'dysj', title: '报告日期', align: 'center', resizable: true, width: 80 },
|
||||||
{ field: 'yqmc', title: '仪器名称', align: 'center', resizable: true, width: 150 },
|
{ field: 'yblxname', title: '标本', align: 'center', resizable: true, width: 50 },
|
||||||
{ field: 'yqdl', title: '仪器', align: 'center', resizable: true, width: 100 },
|
{ field: 'fb', title: '费别', align: 'center', resizable: true, width: 50 },
|
||||||
|
{ field: 'hdys', title: '核对医生', align: 'center', resizable: true, width: 60 },
|
||||||
|
{ field: 'zd', title: '临床诊断', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'bz', title: '备注', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'sjysname', title: '审核人', align: 'center', resizable: true, width: 60 },
|
||||||
|
{ field: 'confirmtime', title: '审核时间', align: 'center', resizable: true, width: 80 },
|
||||||
|
{ field: 'zh', title: '最后修改人', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'zhtime', title: '最后修改时间', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'sfz', title: '身份证', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'phone', title: '病人联系方式', align: 'center', resizable: true, width: 100 },
|
||||||
|
{ field: 'jsphone', title: '家属联系方式', align: 'center', resizable: true, width: 100 },
|
||||||
])
|
])
|
||||||
|
|
||||||
const selectionChange = (selection: any) => {
|
const selectionChange = (selection: any) => {
|
||||||
@ -319,16 +336,20 @@ const editHandle = () => {
|
|||||||
router.push({
|
router.push({
|
||||||
name: 'Micro', // 必须用 name 跳转,不能用 path
|
name: 'Micro', // 必须用 name 跳转,不能用 path
|
||||||
state: { // 核心:参数存在 state 中
|
state: { // 核心:参数存在 state 中
|
||||||
id: 123,
|
yq: Info.value.yq,
|
||||||
name: '测试参数',
|
jyrq: Info.value.jyrq,
|
||||||
|
lisgroup: Info.value.lisgroup,
|
||||||
|
ybh: Info.value.ybh,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
router.push({
|
router.push({
|
||||||
name: 'Work',
|
name: 'Work',
|
||||||
state: {
|
state: {
|
||||||
id: 123,
|
yq: Info.value.yq,
|
||||||
name: '测试参数',
|
jyrq: Info.value.jyrq,
|
||||||
|
lisgroup: Info.value.lisgroup,
|
||||||
|
ybh: Info.value.ybh,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -204,10 +204,6 @@ const queryParams = ref({
|
|||||||
|
|
||||||
const activeName = ref('first');
|
const activeName = ref('first');
|
||||||
|
|
||||||
const total = ref(0)
|
|
||||||
const ybs = ref(0)
|
|
||||||
const ws = ref(0)
|
|
||||||
const wjs = ref(0)
|
|
||||||
const activeTab = ref('LabPatList')
|
const activeTab = ref('LabPatList')
|
||||||
const tabList = ref([
|
const tabList = ref([
|
||||||
{ label: '标本列表', value: 'LabPatList' },
|
{ label: '标本列表', value: 'LabPatList' },
|
||||||
@ -405,12 +401,13 @@ const previewHandle = (url: string) => {
|
|||||||
pdfUrl.value = `data:application/pdf;base64,${url}`
|
pdfUrl.value = `data:application/pdf;base64,${url}`
|
||||||
previewShow.value = true
|
previewShow.value = true
|
||||||
}
|
}
|
||||||
const handleinstrGroupChange = (val: any) => {
|
const handleinstrGroupChange = () => {
|
||||||
queryParams.value.yq = ''
|
queryParams.value.yq = ''
|
||||||
getYqConfig()
|
getYqConfig()
|
||||||
}
|
}
|
||||||
const mbStore = useCommonStore();
|
const mbStore = useCommonStore();
|
||||||
const yqHandleChange = (val: any) => {
|
const yqHandleChange = () => {
|
||||||
|
queryParams.value.ybh = ''
|
||||||
zbLabResuts.value = [];
|
zbLabResuts.value = [];
|
||||||
labPat.value = {}
|
labPat.value = {}
|
||||||
mbStore.setLxsrList([]);
|
mbStore.setLxsrList([]);
|
||||||
@ -719,9 +716,19 @@ const fetchlabPatList = () => {
|
|||||||
loading.value = false;
|
loading.value = false;
|
||||||
originalLabPatList.value = res.data;
|
originalLabPatList.value = res.data;
|
||||||
if (res.data.length > 0) {
|
if (res.data.length > 0) {
|
||||||
highlightRowIndex.value = 0;
|
if (queryParams.value.ybh) {
|
||||||
setTimeout(() => { labPatListRef.value.setCurrentRow(res.data[0]) }, 10)
|
const index = labPatList.value.findIndex((item: any) => item.ybh == queryParams.value.ybh)
|
||||||
selectJob(res.data[0])
|
if (index !== -1) {
|
||||||
|
highlightRowIndex.value = index;
|
||||||
|
const row = labPatList.value[index];
|
||||||
|
setTimeout(() => { labPatListRef.value.setCurrentRow(row); }, 10)
|
||||||
|
selectJob(row);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
highlightRowIndex.value = 0;
|
||||||
|
setTimeout(() => { labPatListRef.value.setCurrentRow(res.data[0]) }, 10)
|
||||||
|
selectJob(res.data[0])
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
labInfo.value = {}
|
labInfo.value = {}
|
||||||
labPat.value = {}
|
labPat.value = {}
|
||||||
@ -730,13 +737,6 @@ const fetchlabPatList = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 计算样本数
|
|
||||||
const getTotals = () => {
|
|
||||||
ybs.value = labPatList.value.length
|
|
||||||
ws.value = labPatList.value.filter((item: any) => item.jgbz != 2).length
|
|
||||||
wjs.value = labPatList.value.filter((item: any) => item.alarmflag == 1).length
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
loadinstrGroupOptions()
|
loadinstrGroupOptions()
|
||||||
fetchlabPatList()
|
fetchlabPatList()
|
||||||
@ -772,8 +772,37 @@ const getSysList = () => {
|
|||||||
}
|
}
|
||||||
getSysList()
|
getSysList()
|
||||||
|
|
||||||
|
// 定义参数类型(类型安全)
|
||||||
|
interface RouteStateParams {
|
||||||
|
yq: string;
|
||||||
|
jyrq: string;
|
||||||
|
lisgroup: string;
|
||||||
|
ybh: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 报告查询跳转后操作
|
||||||
|
const getParams = () => {
|
||||||
|
const state = history.state as Partial<RouteStateParams>;
|
||||||
|
|
||||||
|
// 只读取一次参数
|
||||||
|
if (state && state.yq) {
|
||||||
|
queryParams.value.yq = state.yq;
|
||||||
|
queryParams.value.jyrq = state.jyrq ?? queryParams.value.jyrq;
|
||||||
|
queryParams.value.instrGroup = state.lisgroup ?? queryParams.value.instrGroup;
|
||||||
|
queryParams.value.ybh = state.ybh ?? queryParams.value.ybh;
|
||||||
|
|
||||||
|
getSysList()
|
||||||
|
getYqConfig()
|
||||||
|
fetchlabPatList()
|
||||||
|
sendMessage()
|
||||||
|
// 读取后清空 state 刷新/回退不重复读取
|
||||||
|
history.replaceState({}, document.title);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const userList = ref([]);
|
const userList = ref([]);
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
getParams()
|
||||||
const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
|
const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
|
||||||
listUser(data).then((res: any) => {
|
listUser(data).then((res: any) => {
|
||||||
userList.value = res.rows;
|
userList.value = res.rows;
|
||||||
@ -797,6 +826,10 @@ onMounted(async () => {
|
|||||||
initSocket()
|
initSocket()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onActivated(() => {
|
||||||
|
getParams()
|
||||||
|
})
|
||||||
|
|
||||||
const initSocket = () => {
|
const initSocket = () => {
|
||||||
initWebSocket({
|
initWebSocket({
|
||||||
fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`,
|
fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`,
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
@click="handleBatchDelete">删除</el-button>
|
@click="handleBatchDelete">删除</el-button>
|
||||||
<el-button class="btn_green btns_box" :size="autoSize" :disabled="labPat.jgbz == 2"
|
<el-button class="btn_green btns_box" :size="autoSize" :disabled="labPat.jgbz == 2"
|
||||||
@click="zhHandel">组合项目</el-button>
|
@click="zhHandel">组合项目</el-button>
|
||||||
|
<el-button type="primary" plain class=" btns_box" @click="printHandle(1)">打印</el-button>
|
||||||
</div>
|
</div>
|
||||||
<ContextMenu :items="contextMenuItems" @select="handleMenuSelect">
|
<ContextMenu :items="contextMenuItems" @select="handleMenuSelect">
|
||||||
<CustomTable ref="tableRef" :data="tableData" :columns="columns" :config="tableConfig" :enable-column-drag="true"
|
<CustomTable ref="tableRef" :data="tableData" :columns="columns" :config="tableConfig" :enable-column-drag="true"
|
||||||
@ -812,6 +813,20 @@ const zhHandel = () => {
|
|||||||
combinedRef.value.open()
|
combinedRef.value.open()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const printHandle = (type: number) => {
|
||||||
|
const data = {
|
||||||
|
jyrq: labPat.value.jyrq,
|
||||||
|
yq: labPat.value.yq,
|
||||||
|
ybh: labPat.value.ybh,
|
||||||
|
sqh: labPat.value.sqh
|
||||||
|
}
|
||||||
|
printListwork(data).then((res: any) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
classCom.printBase64PDF(res.data)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
const combinedHandel = (row: any) => {
|
const combinedHandel = (row: any) => {
|
||||||
if (props.labPat.jgbz != null && props.labPat.jgbz != 0 && props.labPat.jgbz != 'C') return ElMessage.warning('已审核结果不可添加模板项目');
|
if (props.labPat.jgbz != null && props.labPat.jgbz != 0 && props.labPat.jgbz != 'C') return ElMessage.warning('已审核结果不可添加模板项目');
|
||||||
const data = {
|
const data = {
|
||||||
|
|||||||
@ -18,7 +18,6 @@
|
|||||||
<el-button type="primary" plain icon="Check" @click="handleSave">保存</el-button>
|
<el-button type="primary" plain icon="Check" @click="handleSave">保存</el-button>
|
||||||
<el-button type="primary" plain @click="copyBzHandle">复制靶值</el-button>
|
<el-button type="primary" plain @click="copyBzHandle">复制靶值</el-button>
|
||||||
<el-button type="primary" plain @click="addBzHandle">新增靶值</el-button>
|
<el-button type="primary" plain @click="addBzHandle">新增靶值</el-button>
|
||||||
<el-button type="danger" plain @click="delBzHandle">删除靶值</el-button>
|
|
||||||
<el-button type="primary" plain @click="">计算</el-button>
|
<el-button type="primary" plain @click="">计算</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -80,7 +79,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="height:40%">
|
<div style="height:40%">
|
||||||
<CustomTable ref="rightTableRef" :data="bottomTableData" :columns="bottomColumns" :enableColumnDrag="true"
|
<CustomTable ref="rightTableRef" :data="bottomTableData" :columns="bottomColumns" :enableColumnDrag="true"
|
||||||
@column-drag-end="columnDragEnd" :config="{ border: true, highlightCurrentRow: true, height: '100%' }">
|
@column-drag-end="columnDragEnd"
|
||||||
|
:config="{ border: true, highlightCurrentRow: true, height: '100%', actionWidth: 80 }">
|
||||||
<template #xmdh="{ row }">
|
<template #xmdh="{ row }">
|
||||||
{{ row.xmdh }} {{ row.xmmc }}
|
{{ row.xmdh }} {{ row.xmmc }}
|
||||||
</template>
|
</template>
|
||||||
@ -90,6 +90,9 @@
|
|||||||
<template #sjph="{ row }">
|
<template #sjph="{ row }">
|
||||||
{{ formatDict(row.sjph, 'LOT') }}
|
{{ formatDict(row.sjph, 'LOT') }}
|
||||||
</template>
|
</template>
|
||||||
|
<template #action="{ row }">
|
||||||
|
<el-button type="danger" text @click="delBzHandle(row)">删除</el-button>
|
||||||
|
</template>
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -158,10 +161,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { queryBatch, queryValXmdh, queryBatchXm, delBatchno, addBatchno, updateBatchno } from '@/api/liswork/qualityControl'
|
import { queryBatch, queryValXmdh, queryBatchXm, delBatchno, addBatchno, updateBatchno, saveBtQcSample } from '@/api/liswork/qualityControl'
|
||||||
import { templateRef } from '@vueuse/core'
|
import { templateRef } from '@vueuse/core'
|
||||||
import { formatDict, getDictData, dictData } from '@/hooks';
|
import { formatDict, getDictData, dictData } from '@/hooks';
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
|
import { log } from 'vxe-pc-ui';
|
||||||
|
|
||||||
const yq = defineModel<string>()
|
const yq = defineModel<string>()
|
||||||
const title = ref('新增批号')
|
const title = ref('新增批号')
|
||||||
@ -375,23 +379,26 @@ const addBzHandle = () => {
|
|||||||
item.zkbz = ''
|
item.zkbz = ''
|
||||||
item.sd = ''
|
item.sd = ''
|
||||||
item.cv = ''
|
item.cv = ''
|
||||||
item.bc = ''
|
|
||||||
item.ksrq = ''
|
item.ksrq = ''
|
||||||
item.stopdate = ''
|
item.stopdate = ''
|
||||||
item.ff = ''
|
|
||||||
item.sjph = ''
|
|
||||||
item.qccv = ''
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const delBzHandle = () => {
|
const delBzHandle = (row: any) => {
|
||||||
ElMessageBox.confirm('是否确认删除选中数据?', '提示', {
|
ElMessageBox.confirm('确定要删除这个靶值吗,可能会影响其区间内的质控计算?', '提示', {
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
console.log("🚀 ~ delBzHandle ~ row:", row)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const handleSave = () => {
|
||||||
|
console.log(topTableData.value)
|
||||||
|
saveBtQcSample(topTableData.value).then((res: any) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
ElMessage.success('保存成功')
|
||||||
|
rowClick(topTableData.value[0])
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const handleSave = () => { }
|
|
||||||
|
|
||||||
watch(yq, (val) => {
|
watch(yq, (val) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
|
|||||||
@ -39,6 +39,7 @@
|
|||||||
|
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
<CustomVxeTable class="mytable-style" ref="tableRef" :table-data="tableData" :columns="columns"
|
<CustomVxeTable class="mytable-style" ref="tableRef" :table-data="tableData" :columns="columns"
|
||||||
|
:rowConfig="{ isHover: true, height: 30, isCurrent: false }"
|
||||||
:scrollYConfig="{ enabled: true, rSize: 30, height: '100%', }" :cell-style="cellStyleHd">
|
:scrollYConfig="{ enabled: true, rSize: 30, height: '100%', }" :cell-style="cellStyleHd">
|
||||||
<template #cs1="{ row }">
|
<template #cs1="{ row }">
|
||||||
<el-input v-model="row.cs1" class="full-width-input" />
|
<el-input v-model="row.cs1" class="full-width-input" />
|
||||||
@ -145,8 +146,11 @@ const getXmList = () => {
|
|||||||
|
|
||||||
const getXmInfo = () => {
|
const getXmInfo = () => {
|
||||||
getqcvalmonth({ yq: yq.value, ...queryParams.value, zkph: activeName.value }).then((res: any) => {
|
getqcvalmonth({ yq: yq.value, ...queryParams.value, zkph: activeName.value }).then((res: any) => {
|
||||||
const mergedResult = mergeDataByXmdh(res.data);
|
if (res.data.cs1) {
|
||||||
tableData.value = mergedResult
|
tableData.value = mergeDataByXmdh(res.data);
|
||||||
|
} else {
|
||||||
|
tableData.value = []
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 合并数据
|
// 合并数据
|
||||||
@ -225,6 +229,8 @@ watch(yq, (val) => {
|
|||||||
queryValue({ yq: yq.value, xxdh: 'QCSAMPLECNT' }).then((res: any) => {
|
queryValue({ yq: yq.value, xxdh: 'QCSAMPLECNT' }).then((res: any) => {
|
||||||
zkps.value = Number(res.data) || 1
|
zkps.value = Number(res.data) || 1
|
||||||
})
|
})
|
||||||
|
queryParams.value.xmdh = ''
|
||||||
|
tableData.value = []
|
||||||
getXmList()
|
getXmList()
|
||||||
}
|
}
|
||||||
}, { immediate: true })
|
}, { immediate: true })
|
||||||
|
|||||||
@ -123,8 +123,11 @@ const tabClick = (tab: { paneName: number }) => {
|
|||||||
|
|
||||||
const getXmList = () => {
|
const getXmList = () => {
|
||||||
getqcval({ yq: yq.value, zkrq: zkrq.value, zkph: activeName.value }).then((res: any) => {
|
getqcval({ yq: yq.value, zkrq: zkrq.value, zkph: activeName.value }).then((res: any) => {
|
||||||
const mergedResult = mergeDataByXmdh(res.data);
|
if (res.data.cs1) {
|
||||||
tableData.value = mergedResult
|
tableData.value = mergeDataByXmdh(res.data);
|
||||||
|
} else {
|
||||||
|
tableData.value = []
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 合并数据
|
// 合并数据
|
||||||
|
|||||||
@ -296,14 +296,13 @@ const previewHandle = (url: string) => {
|
|||||||
pdfUrl.value = `data:application/pdf;base64,${url}`
|
pdfUrl.value = `data:application/pdf;base64,${url}`
|
||||||
previewShow.value = true
|
previewShow.value = true
|
||||||
}
|
}
|
||||||
const handleinstrGroupChange = (val: any) => {
|
const handleinstrGroupChange = () => {
|
||||||
queryParams.value.yq = ''
|
queryParams.value.yq = ''
|
||||||
// labResuts.value = []
|
|
||||||
// labPat.value = {}
|
|
||||||
getYqConfig()
|
getYqConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
const yqHandleChange = (val: any) => {
|
const yqHandleChange = () => {
|
||||||
|
queryParams.value.ybh = ''
|
||||||
labResuts.value = []
|
labResuts.value = []
|
||||||
labPat.value = {}
|
labPat.value = {}
|
||||||
mbStore.setLxsrList([]);
|
mbStore.setLxsrList([]);
|
||||||
@ -596,9 +595,20 @@ const fetchlabPatList = () => {
|
|||||||
originalLabPatList.value = res.data
|
originalLabPatList.value = res.data
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
if (res.data.length > 0) {
|
if (res.data.length > 0) {
|
||||||
highlightRowIndex.value = 0;
|
// 跳转传过来的样本
|
||||||
setTimeout(() => { labPatListRef.value.setCurrentRow(res.data[0]); }, 100)
|
if (queryParams.value.ybh) {
|
||||||
selectJob(res.data[0])
|
const index = labPatList.value.findIndex((item: any) => item.ybh == queryParams.value.ybh)
|
||||||
|
if (index !== -1) {
|
||||||
|
highlightRowIndex.value = index;
|
||||||
|
const row = labPatList.value[index];
|
||||||
|
setTimeout(() => { labPatListRef.value.setCurrentRow(row); }, 100)
|
||||||
|
selectJob(row);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
highlightRowIndex.value = 0;
|
||||||
|
setTimeout(() => { labPatListRef.value.setCurrentRow(res.data[0]); }, 100)
|
||||||
|
selectJob(res.data[0])
|
||||||
|
}
|
||||||
getTotals()
|
getTotals()
|
||||||
} else {
|
} else {
|
||||||
handleCreate()
|
handleCreate()
|
||||||
@ -652,19 +662,33 @@ const userList = ref([]);
|
|||||||
|
|
||||||
// 定义参数类型(类型安全)
|
// 定义参数类型(类型安全)
|
||||||
interface RouteStateParams {
|
interface RouteStateParams {
|
||||||
id: number;
|
yq: string;
|
||||||
name: string;
|
jyrq: string;
|
||||||
|
lisgroup: string;
|
||||||
|
ybh: string;
|
||||||
}
|
}
|
||||||
onMounted(async () => {
|
|
||||||
|
|
||||||
|
// 报告查询跳转后操作
|
||||||
|
const getParams = () => {
|
||||||
const state = history.state as Partial<RouteStateParams>;
|
const state = history.state as Partial<RouteStateParams>;
|
||||||
|
|
||||||
console.log("🚀 ~ state:", state)
|
|
||||||
// 只读取一次参数
|
// 只读取一次参数
|
||||||
if (state && state.id) {
|
if (state && state.yq) {
|
||||||
|
queryParams.value.yq = state.yq;
|
||||||
|
queryParams.value.jyrq = state.jyrq ?? queryParams.value.jyrq;
|
||||||
|
queryParams.value.instrGroup = state.lisgroup ?? queryParams.value.instrGroup;
|
||||||
|
queryParams.value.ybh = state.ybh ?? queryParams.value.ybh;
|
||||||
|
|
||||||
|
getSysList()
|
||||||
|
getYqConfig()
|
||||||
|
fetchlabPatList()
|
||||||
|
sendMessage()
|
||||||
// 读取后清空 state 刷新/回退不重复读取
|
// 读取后清空 state 刷新/回退不重复读取
|
||||||
history.replaceState({}, document.title);
|
history.replaceState({}, document.title);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
onMounted(async () => {
|
||||||
|
getParams()
|
||||||
|
|
||||||
const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
|
const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
|
||||||
listUser(data).then((res: any) => {
|
listUser(data).then((res: any) => {
|
||||||
@ -687,6 +711,10 @@ onMounted(async () => {
|
|||||||
initSocket()
|
initSocket()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onActivated(() => {
|
||||||
|
getParams()
|
||||||
|
})
|
||||||
|
|
||||||
const initSocket = () => {
|
const initSocket = () => {
|
||||||
initWebSocket({
|
initWebSocket({
|
||||||
fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`,
|
fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user