质控管理模块优化
This commit is contained in:
parent
1e55a34574
commit
079e6836e9
@ -24,4 +24,28 @@ export function confirmInputMdl(query?: Object) {
|
||||
method: 'post',
|
||||
data: query,
|
||||
});
|
||||
}
|
||||
// 调整数据
|
||||
export function adjustData(query?: Object) {
|
||||
return request({
|
||||
url: '/batchCheck/adjustData',
|
||||
method: 'post',
|
||||
data: query,
|
||||
});
|
||||
}
|
||||
// 读取数据
|
||||
export function readData(query?: Object) {
|
||||
return request({
|
||||
url: '/batchCheck/readData',
|
||||
method: 'post',
|
||||
data: query,
|
||||
});
|
||||
}
|
||||
// 保存数据
|
||||
export function saveData(query?: Object) {
|
||||
return request({
|
||||
url: '/batchCheck/saveData',
|
||||
method: 'post',
|
||||
data: query,
|
||||
});
|
||||
}
|
||||
@ -161,4 +161,26 @@ function useAutoSize() {
|
||||
return autoSize;
|
||||
}
|
||||
|
||||
export const classCom = { decimalToHexColor, convertHexToNumber, getContrastTextColor, printBase64PDF, printPDF, useAutoSize, getDayDiff }
|
||||
/**
|
||||
* 计算带 > < ≥ <= 等符号的数据平均值
|
||||
* 自动提取数字,忽略符号
|
||||
* @param {Array} arr 数据数组 例如 ['<2.0', '5092.1', '≥30', '>100']
|
||||
* @returns {number} 平均值(保留2位小数)
|
||||
*/
|
||||
function calcMeanWithSymbols(arr) {
|
||||
const numbers = arr.map(item => {
|
||||
if (item === null || item === undefined || item === '') return 0
|
||||
// 去掉所有非数字、非小数点的字符(> < ≥ <= >= <= 等)
|
||||
const numStr = String(item).replace(/[^\d.]/g, '')
|
||||
// 转数字,无效则 0
|
||||
const num = parseFloat(numStr)
|
||||
return isNaN(num) ? 0 : num
|
||||
})
|
||||
const total = numbers.reduce((sum, val) => sum + val, 0)
|
||||
// 平均值(严格按原数组长度计算)
|
||||
const avg = total / arr.length
|
||||
// 保留2位小数返回
|
||||
return Math.round(avg * 100) / 100
|
||||
}
|
||||
|
||||
export const classCom = { decimalToHexColor, convertHexToNumber, getContrastTextColor, printBase64PDF, printPDF, useAutoSize, getDayDiff, calcMeanWithSymbols }
|
||||
|
||||
@ -9,11 +9,11 @@
|
||||
<div class="app-container">
|
||||
<!-- 顶部工具栏 -->
|
||||
<div class="toolbar">
|
||||
<el-button icon="EditPen" type="primary">调整</el-button>
|
||||
<el-button icon="Check" type="success">保存</el-button>
|
||||
<el-button icon="CirclePlus" type="primary">读取</el-button>
|
||||
<el-button icon="Delete" type="danger">删除</el-button>
|
||||
<el-button type="danger">删除全部</el-button>
|
||||
<el-button icon="EditPen" type="primary" plain @click="adjustHandle">调整</el-button>
|
||||
<el-button icon="Check" type="success" plain @click="saveHandle">保存</el-button>
|
||||
<el-button icon="CirclePlus" type="primary" plain @click="readHandle">读取</el-button>
|
||||
|
||||
<el-button type="danger" plain @click="delHandle(-1)">删除全部</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 核心左右布局容器 -->
|
||||
@ -22,29 +22,28 @@
|
||||
<div class="form-section">
|
||||
<el-form label-width="80px">
|
||||
<el-form-item label="标本日期">
|
||||
<el-date-picker v-model="queryForm.jyrq" type="date" format="YYYY/MM/DD" value-format="YYYY/MM/DD"
|
||||
<el-date-picker v-model="queryForm.jyrq" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
||||
style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检验仪器">
|
||||
<YQSelectTable v-model:data="queryForm.yq" width="100%" clearable />
|
||||
<YQSelectTable v-model:data="queryForm.yq" width="100%" clearable @get-data-value="getyqData" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调整项目">
|
||||
<el-select v-model="queryForm.testItem" placeholder="" style="width: 100%">
|
||||
</el-select>
|
||||
<SelectTable v-model:data="queryForm.xmdh" :tableData="xmList" width="100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="标本号">
|
||||
<div class="sample-no-inputs">
|
||||
<el-input v-model="queryForm.sampleNoStart" style="width: 10rem" />
|
||||
<el-input v-model="queryForm.ybh1" clearable style="width: 10rem" />
|
||||
<span style="margin: 0 8px;">—</span>
|
||||
<el-input v-model="queryForm.sampleNoEnd" style="width: 10rem" />
|
||||
<el-input v-model="queryForm.ybh2" clearable style="width: 10rem" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="调整公式">
|
||||
<el-input v-model="queryForm.formula" style="width: 100%" placeholder="" />
|
||||
<el-input v-model="queryForm.adjust" style="width: 100%" placeholder="" />
|
||||
</el-form-item>
|
||||
|
||||
<!-- 公式说明文字 -->
|
||||
<div class="formula-tip">
|
||||
<div class="adjust-tip">
|
||||
注:请输入包含R(检验结果)的表达式, 如:R*1.1为结果调整原来的1.1倍
|
||||
</div>
|
||||
</el-form>
|
||||
@ -52,9 +51,18 @@
|
||||
|
||||
<!-- 右侧表格区域 -->
|
||||
<div class="table-section">
|
||||
<el-table :data="tableData" border style="width: 100%" height="50vh">
|
||||
<el-table-column label="标本号" prop="sampleNo" width="300" />
|
||||
<el-table-column label="检验结果" prop="result" />
|
||||
<el-table :data="tableData" border style="width: 100%" height="50vh" highlight-current-row>
|
||||
<el-table-column label="标本号" prop="ybh" width="300" />
|
||||
<el-table-column label="检验结果" prop="csjg">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.csjg" class="full-width-input"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template #default="{ row, $index }">
|
||||
<el-button icon="Delete" type="primary" link @click="delHandle($index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 表格底部统计信息 -->
|
||||
@ -70,26 +78,82 @@
|
||||
<script setup lang="ts">
|
||||
import YQSelectTable from '@/components/SelectTable/YQSelectTable/index.vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { adjustData, readData, saveData } from '@/api/batch'
|
||||
import { useCommonStore } from '@/store/modules/commonStore';
|
||||
import { queryOldxminfo } from '@/api/liswork/xtwh/xmReqItemVsApi'
|
||||
import { classCom } from '@/utils/classCom';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
|
||||
const commonStore = useCommonStore()
|
||||
// 查询表单数据
|
||||
const queryForm = reactive({
|
||||
jyrq: dayjs().format('YYYY/MM/DD'),
|
||||
yq: '1贝克曼流水线',
|
||||
testItem: '',
|
||||
sampleNoStart: '',
|
||||
sampleNoEnd: '',
|
||||
formula: ''
|
||||
jyrq: dayjs().format('YYYY-MM-DD'),
|
||||
yq: commonStore.defaultConfig.defaultinstr,
|
||||
xmdh: '',
|
||||
ybh1: '',
|
||||
ybh2: '',
|
||||
adjust: ''
|
||||
})
|
||||
|
||||
const xmList = ref([])
|
||||
// 表格数据
|
||||
const tableData = ref<any[]>([])
|
||||
|
||||
const adjustHandle = () => {
|
||||
queryForm.jyrq = dayjs(queryForm.jyrq).format('YYYY-MM-DD') + ' 00:00:00'
|
||||
adjustData({ ...queryForm, labResultList: tableData.value }).then(res => {
|
||||
if (res.code == 0) {
|
||||
readHandle()
|
||||
}
|
||||
})
|
||||
}
|
||||
const readHandle = () => {
|
||||
queryForm.jyrq = dayjs(queryForm.jyrq).format('YYYY-MM-DD') + ' 00:00:00'
|
||||
readData(queryForm).then(res => {
|
||||
tableData.value = res.data
|
||||
})
|
||||
}
|
||||
const saveHandle = () => {
|
||||
queryForm.jyrq = dayjs(queryForm.jyrq).format('YYYY-MM-DD') + ' 00:00:00'
|
||||
saveData({ ...queryForm, labResultList: tableData.value }).then(res => {
|
||||
if (res.code == 0) {
|
||||
ElMessage.success('保存成功')
|
||||
}
|
||||
})
|
||||
}
|
||||
const delHandle = (index: number) => {
|
||||
ElMessageBox.confirm('删除结果将无法恢复,是否确定要删除当前数据?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
||||
if (index != -1) {
|
||||
tableData.value.splice(index, 1)
|
||||
} else {
|
||||
tableData.value = []
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 计算均值
|
||||
const averageResult = computed(() => {
|
||||
if (tableData.value.length === 0) return ''
|
||||
const sum = tableData.value.reduce((acc, item) => acc + Number(item.result || 0), 0)
|
||||
return (sum / tableData.value.length).toFixed(2)
|
||||
if (tableData.value.length === 0) return 0
|
||||
const arr = tableData.value.map(item => {
|
||||
return item.csjg
|
||||
})
|
||||
return classCom.calcMeanWithSymbols(arr)
|
||||
})
|
||||
|
||||
|
||||
const getyqData = () => {
|
||||
if (!queryForm.yq) return
|
||||
queryOldxminfo({ yq: queryForm.yq }).then(res => {
|
||||
xmList.value = res.data.map(item => {
|
||||
return {
|
||||
label: item.xmmc,
|
||||
value: item.xmdh
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
getyqData()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@ -123,7 +187,7 @@ const averageResult = computed(() => {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.formula-tip {
|
||||
.adjust-tip {
|
||||
color: #0000cc;
|
||||
margin-top: 8px;
|
||||
font-size: 14px;
|
||||
|
||||
@ -2,48 +2,76 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="form" :model="formData" class="query-form" label-width="6.25rem" inline>
|
||||
<el-form-item label="医疗机构:" prop="yljg">
|
||||
<SelectTable v-model:data="formData.yljg" :fields="fields" width="150px" dict-type="HOS" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仪器分组:" prop="lisgroup">
|
||||
<SelectTable v-model:data="formData.lisgroup" :fields="fields" width="150px" dict-type="GROUP"
|
||||
@get-data-value="getYqConfig()" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检验仪器:" prop="yq">
|
||||
<SelectTable v-model:data="formData.yq" :tableData="instrOptions" width="150px" placeholder="请选择仪器"
|
||||
@getDataValue="getYQList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="申请科室:" prop="ksdh">
|
||||
<SelectTable v-model:data="formData.ksdh" :fields="fields" width="150px" dict-type="DP" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检验医师:" prop="yhdh">
|
||||
<el-input placeholder="请填写检验医师" v-model="formData.yhdh" style="width: 150px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="病人来源:" prop="brly">
|
||||
<SelectTable v-model:data="formData.brly" :fields="fields" width="150px" dict-type="PT" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标本日期:" prop="jyrq">
|
||||
<el-date-picker v-model="formData.jyrq1" type="date" style="width: 150px;"
|
||||
value-format="YYYY-MM-DD" /> -
|
||||
<el-date-picker v-model="formData.jyrq2" type="date" style="width: 150px;" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标本号:" prop="ybh">
|
||||
<el-input placeholder="开始标本号" v-model="formData.ybh1" style="width: 120px;" /> -
|
||||
<el-input placeholder="结束标本号" v-model="formData.ybh2" style="width: 120px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审核标志:">
|
||||
<el-select v-model="formData.jgbz" style="width: 150px" clearable>
|
||||
<el-option v-for="item in jgbzOption" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-checkbox v-model="formData.jzbz" label="急诊报告" true-value="1" false-value="0"></el-checkbox>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="仪器分组:" prop="lisgroup">
|
||||
<SelectTable v-model:data="formData.lisgroup" :fields="fields" width="10rem" dict-type="GROUP"
|
||||
@get-data-value="getYqConfig()" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6.5">
|
||||
<el-form-item label="标本日期:" prop="jyrq">
|
||||
<el-date-picker v-model="formData.jyrq1" type="date" style="width: 10rem;"
|
||||
value-format="YYYY-MM-DD" /> -
|
||||
<el-date-picker v-model="formData.jyrq2" type="date" style="width: 10rem;" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="医疗机构:" prop="yljg">
|
||||
<SelectTable v-model:data="formData.yljg" :fields="fields" width="10rem" dict-type="HOS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="病人来源:" prop="brly">
|
||||
<SelectTable v-model:data="formData.brly" :fields="fields" width="10rem" dict-type="PT" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="审核标志:">
|
||||
<el-select v-model="formData.jgbz" style="width: 10rem" clearable>
|
||||
<el-option v-for="item in jgbzOption" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="检验仪器:" prop="yq">
|
||||
<SelectTable v-model:data="formData.yq" :tableData="instrOptions" width="10rem" placeholder="请选择仪器"
|
||||
@getDataValue="getYQList" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6.5">
|
||||
<el-form-item label="标本号:" prop="ybh">
|
||||
<el-input placeholder="开始标本号" v-model="formData.ybh1" style="width: 10rem;" /> -
|
||||
<el-input placeholder="结束标本号" v-model="formData.ybh2" style="width: 10rem;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="申请科室:" prop="ksdh">
|
||||
<SelectTable v-model:data="formData.ksdh" :fields="fields" width="10rem" dict-type="DP" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="检验医师:" prop="yhdh">
|
||||
<el-input placeholder="请填写检验医师" v-model="formData.yhdh" style="width: 10rem;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item>
|
||||
<el-checkbox v-model="formData.jzbz" label="急诊报告" true-value="1" false-value="0"></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="mb5">
|
||||
<el-button type="primary" icon="Search" @click="getList">查询</el-button>
|
||||
<el-button type="primary" icon="DocumentChecked" plain :disabled="!multiple" @click="checkData">批量审核</el-button>
|
||||
<el-button type="primary" icon="DocumentChecked" plain :disabled="!multiple && formData.jgbz == '0'"
|
||||
@click="checkData">批量审核</el-button>
|
||||
<el-button type="primary" icon="DocumentDelete" plain :disabled="!multiple" @click="cancelCheck">取消审核</el-button>
|
||||
<span class="doctor-name">审核医生:{{ doctorName }}</span>
|
||||
<el-button type="primary" icon="User" @click="checkUser">切换</el-button>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<el-row :gutter="10">
|
||||
@ -75,20 +103,27 @@
|
||||
<span>{{ row.dybz === "1" ? "已打印" : "未打印" }}</span>
|
||||
</template>
|
||||
</CustomTable>
|
||||
<div class="mt10">
|
||||
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="formData.pageNum" :page-sizes="[10, 20, 50, 100]" :page-size="formData.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<LabResult v-model="paramObj" v-if="!isXJY" />
|
||||
<LabResultMed v-model="paramObj" v-if="isXJY" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 校验用户 -->
|
||||
<CheckUser ref="checkUserRef" title="审核人工号密码验证" @onConfirm="handleCheckUserConfirm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
<script setup lang="ts" name="BatchCheck">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import YQSelectTable from '@/components/SelectTable/YQSelectTable/index.vue';
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { batchCheckService, queryBatchCheckListService, cancelBatchCheckService } from '@/api/liswork/batchCheck/batchCheckApi';
|
||||
import dayjs from 'dayjs';
|
||||
@ -97,31 +132,38 @@ import { displayBRNL, displayBRXB } from '@/utils/czUtil/lisUtil'
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import LabResult from './LabResult.vue';
|
||||
import LabResultMed from './LabResultMed.vue';
|
||||
import { getGroupInstrdList } from '@/api/liswork/work/LisWork';
|
||||
import { checkuser, getGroupInstrdList } from '@/api/liswork/work/LisWork';
|
||||
import { useCommonStore } from '@/store/modules/commonStore';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import CheckUser from "../work/components/CheckUser.vue";
|
||||
import { listUser } from '@/api/system/user.js'
|
||||
|
||||
const tableRef = ref();
|
||||
const tableRef = useTemplateRef('tableRef');
|
||||
const tableData = ref([])
|
||||
const userStore = useUserStore()
|
||||
const commonStore = useCommonStore()
|
||||
const paramObj = ref<any>(null) // 用于传递给 LabResult 组件的参数对象
|
||||
const isXJY = ref(false)
|
||||
const loading = ref(false)
|
||||
const doctorName = ref('')
|
||||
const checkUserRef = useTemplateRef('checkUserRef')
|
||||
const formData = ref({
|
||||
lisgroup: commonStore.defaultConfig.lisgroupid, //仪器分组
|
||||
yljg: userStore.sysLoginParam.loginYLJG,
|
||||
ksdh: '', //申请科室
|
||||
ksdh: '',
|
||||
yq: commonStore.defaultConfig.defaultinstr,
|
||||
jyrq1: dayjs().format('YYYY-MM-DD'), //标本日期开始
|
||||
jyrq2: dayjs().format('YYYY-MM-DD'), //标本日期结束
|
||||
yhdh: '', //检验医师
|
||||
brly: '', //病人来源
|
||||
ybh1: '', //标本号开始
|
||||
ybh2: '', //标本号结束
|
||||
jgbz: '0', //审核标志
|
||||
jzbz: 0 //急诊标志
|
||||
jyrq1: dayjs().format('YYYY-MM-DD'),
|
||||
jyrq2: dayjs().format('YYYY-MM-DD'),
|
||||
yhdh: '',
|
||||
brly: '',
|
||||
ybh1: '',
|
||||
ybh2: '',
|
||||
jgbz: '0',
|
||||
jzbz: 0,
|
||||
pageSize: 30,
|
||||
pageNum: 1
|
||||
})
|
||||
const total = ref(0)
|
||||
const columns = ref([
|
||||
{ type: 'selection', title: '选择', visible: true, align: 'center', width: 40 },
|
||||
{ prop: 'jgbz', label: '审核标志', visible: true, align: 'center', slot: 'jgbz' },
|
||||
@ -130,10 +172,10 @@ const columns = ref([
|
||||
{ prop: 'ybh', label: '样本号', visible: true, align: 'center' },
|
||||
{ prop: 'brxm', label: '姓名', visible: true, align: 'center' },
|
||||
{ prop: 'brdh', label: '住院号', visible: true, align: 'center' },
|
||||
{ prop: 'sqh', label: '申请号', visible: true, align: 'center' },
|
||||
{ prop: 'sqh', label: '申请号', visible: true, align: 'center', width: 130 },
|
||||
{ prop: 'brly', label: '病人类型', visible: true, align: 'center', slot: 'brly' },
|
||||
{ prop: 'brxb', label: '性别', visible: true, align: 'center', slot: 'brxb' },
|
||||
{ prop: 'brnl', label: '年龄', visible: true, align: 'center', slot: 'brnl' },
|
||||
{ prop: 'brxb', label: '性别', visible: true, align: 'center', slot: 'brxb', width: 60 },
|
||||
{ prop: 'brnl', label: '年龄', visible: true, align: 'center', slot: 'brnl', width: 60 },
|
||||
{ prop: 'ksdh', label: '科室', visible: true, align: 'center', slot: 'ksdh' },
|
||||
{ prop: 'ch', label: '床号', visible: true, align: 'center' },
|
||||
{ prop: 'sjys', label: '送检医生', visible: true, align: 'center', slot: 'sjys' },
|
||||
@ -149,6 +191,7 @@ const columns = ref([
|
||||
{ prop: 'confirmermc', label: '审核人', visible: true, align: 'center' },
|
||||
{ prop: 'confirmdt', label: '审核时间', visible: true, align: 'center', width: 150 },
|
||||
]);
|
||||
const yhdh = ref('') //审核医生工号
|
||||
|
||||
const jgbzOption = ref([
|
||||
{ value: '0', label: '未审核' },
|
||||
@ -175,19 +218,29 @@ const displayJGBZ = (jgbz: string) => {
|
||||
return option ? option.label : jgbz
|
||||
}
|
||||
|
||||
const handleSizeChange = (size: number) => {
|
||||
formData.value.pageSize = size
|
||||
getList()
|
||||
}
|
||||
const handleCurrentChange = (val: number) => {
|
||||
formData.value.pageNum = val
|
||||
getList()
|
||||
};
|
||||
|
||||
const getList = async () => {
|
||||
formData.value.jyrq1 = formData.value.jyrq1 + ' 00:00:00'
|
||||
formData.value.jyrq2 = formData.value.jyrq2 + ' 23:59:59'
|
||||
formData.value.jyrq1 = dayjs(formData.value.jyrq1).format('YYYY-MM-DD') + ' 00:00:00'
|
||||
formData.value.jyrq2 = dayjs(formData.value.jyrq2).format('YYYY-MM-DD') + ' 23:59:59'
|
||||
const res = await queryBatchCheckListService(formData.value)
|
||||
tableData.value = res.data
|
||||
}
|
||||
|
||||
const checkData = async () => {
|
||||
if (!doctorName.value) return ElMessage.warning('请校验审核医生!')
|
||||
const selected = tableRef.value?.getSelectionRows
|
||||
? tableRef.value.getSelectionRows()
|
||||
: (tableRef.value?.tableRef?.getSelectionRows ? tableRef.value.tableRef.getSelectionRows() : [])
|
||||
const paramList = (selected || []).map((item: any) => ({
|
||||
userId: userStore.name || '',
|
||||
userId: yhdh.value,
|
||||
yq: String(item.yq).trim(),
|
||||
jyrq: dayjs(item.jyrq).format('YYYY-MM-DD HH:mm:ss'),
|
||||
ybh: item.ybh,
|
||||
@ -195,7 +248,7 @@ const checkData = async () => {
|
||||
|
||||
loading.value = true
|
||||
const ret = await batchCheckService(paramList)
|
||||
if (ret && ret.code === 200) {
|
||||
if (ret && ret.code == 200) {
|
||||
ElMessage.success('批量审核成功')
|
||||
}
|
||||
getList()
|
||||
@ -203,11 +256,12 @@ const checkData = async () => {
|
||||
}
|
||||
|
||||
const cancelCheck = async () => {
|
||||
if (!doctorName.value) return ElMessage.warning('请校验审核医生!')
|
||||
const selected = tableRef.value?.getSelectionRows
|
||||
? tableRef.value.getSelectionRows()
|
||||
: (tableRef.value?.tableRef?.getSelectionRows ? tableRef.value.tableRef.getSelectionRows() : [])
|
||||
const paramList = (selected || []).map((item: any) => ({
|
||||
userId: userStore.name || '',
|
||||
userId: yhdh.value,
|
||||
yq: String(item.yq).trim(),
|
||||
jyrq: dayjs(item.jyrq).format('YYYY-MM-DD HH:mm:ss'),
|
||||
ybh: item.ybh,
|
||||
@ -215,12 +269,26 @@ const cancelCheck = async () => {
|
||||
|
||||
loading.value = true
|
||||
const ret = await cancelBatchCheckService(paramList)
|
||||
if (ret.code === 200) {
|
||||
if (ret.code == 200) {
|
||||
ElMessage.success('取消审核成功')
|
||||
}
|
||||
getList()
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
const checkUser = () => {
|
||||
checkUserRef.value?.open()
|
||||
}
|
||||
//审核医生校验
|
||||
const handleCheckUserConfirm = (info) => {
|
||||
checkuser({ yhdh: info.yhdh, mm: info.mm }).then(response => {
|
||||
if (response.code == 0) {
|
||||
yhdh.value = info.yhdh
|
||||
doctorName.value = userList.value.find(item => item.userName == info.yhdh)?.nickName || ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const instrOptions = ref([])
|
||||
// 仪器
|
||||
const getYqConfig = () => {
|
||||
@ -258,9 +326,15 @@ const getYQList = (val: { yq: string; yqmc: string; yqdl: string } | null) => {
|
||||
//console.log('选择的仪器大类:', val?.yqdl, '是否是细菌仪:', isXJY.value)
|
||||
}
|
||||
|
||||
const userList = ref<{ userName: string; nickName: string }[]>([])
|
||||
|
||||
onMounted(() => {
|
||||
getYqConfig()
|
||||
getDictData('DP', 'SRD', 'BT', 'PT')
|
||||
const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
|
||||
listUser(data).then((res: any) => {
|
||||
userList.value = res.rows;
|
||||
});
|
||||
})
|
||||
|
||||
</script>
|
||||
@ -273,8 +347,18 @@ onMounted(() => {
|
||||
height: 100%;
|
||||
|
||||
.el-col {
|
||||
height: 100%;
|
||||
height: calc(100% - 50px)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.doctor-name {
|
||||
display: inline-block;
|
||||
color: #1f6dd3;
|
||||
margin-left: 20px;
|
||||
font-weight: 700;
|
||||
width: 200px;
|
||||
font-size: 16px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="14">
|
||||
<el-row :gutter="20" class="row-box">
|
||||
<el-col :span="14" class="col-box">
|
||||
<!-- 表单区域 -->
|
||||
<el-form inline :model="queryParams" class="query-form" size="small" label-width="90px">
|
||||
<el-form-item label="项目类别:">
|
||||
@ -24,7 +24,7 @@
|
||||
<SelectTable v-model:data="queryParams.yqdl" :fields="yqdlFields" :tableData="dictData.YQDL" label="label"
|
||||
value="value" objKey="value" width="8.75rem" size="small" @getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目ID:">
|
||||
<el-form-item>
|
||||
<el-input clearable placeholder="项目ID" prefix-icon="Search" v-model="queryParams.xmid" @input="(val) => {
|
||||
queryParams.xmid = val.replace(/[^0-9]/g, '');
|
||||
}" style="width: 8.75rem" @change="getList" />
|
||||
@ -40,13 +40,13 @@
|
||||
<el-checkbox v-model="queryParams.isMIC" label="隐藏微生物项目" :size="autoSize" @change="getList" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-row :gutter="10" class="mb5">
|
||||
<el-col :span="24">
|
||||
<el-button type="primary" plain icon="Refresh" :size="autoSize" @click="handleRefresh">刷新</el-button>
|
||||
<el-button type="primary" icon="Search" :size="autoSize" @click="handleRefresh">查询</el-button>
|
||||
<el-button type="primary" plain icon="Plus" :size="autoSize" @click="openAddDialog">新增</el-button>
|
||||
<el-button type="danger" plain icon="Delete" :size="autoSize" @click="handleDel">删除</el-button>
|
||||
<el-button type="primary" plain :size="autoSize" @click="handleBatchVs">批量项目对应</el-button>
|
||||
<el-button type="primary" plain :size="autoSize" @click="handleSave">保存</el-button>
|
||||
<el-button type="success" plain icon="Check" :size="autoSize" @click="handleSave">保存</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@ -79,27 +79,27 @@
|
||||
</el-col>
|
||||
|
||||
<!-- 原有右侧区域 完全不动 -->
|
||||
<el-col :span="10">
|
||||
<el-col :span="10" class="col-box">
|
||||
<tabView :tabList="tabList" v-model:activeTab="activeTab" @update:active-tab="updateActive" />
|
||||
<component class="tabDiv" ref="tableTabRef" :is="activeTabN" :formData="selectRow" v-model="modelParam"
|
||||
@refreshTabData="rowChange"></component>
|
||||
<BatchInstrVs v-model="batchInstrVsModel" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<BatchInstrVs v-model="batchInstrVsModel" />
|
||||
|
||||
<!-- ====================== 新增弹窗(独立复制版) ====================== -->
|
||||
<!-- 新增弹窗 -->
|
||||
<el-dialog v-model="addDialogVisible" title="新增项目" width="70%" top="10px" :close-on-click-modal="false"
|
||||
destroy-on-close>
|
||||
<el-tabs v-model="addActiveTab" type="card" class="tabs_box" @tab-click="updateAddActive">
|
||||
<el-tab-pane v-for="item in tabList" :key="item.value" :label="item.label" :name="item.value">
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<component class="tabDiv" ref="addTableTabRef" :is="addActiveTabN" :formData="addFormData" v-model="addModelParam"
|
||||
@refreshTabData="refreshAddTab" />
|
||||
<component class="dialogtabDiv" ref="addTableTabRef" :is="addActiveTabN" :formData="addFormData"
|
||||
v-model="addModelParam" @refreshTabData="refreshAddTab" />
|
||||
|
||||
<template #footer>
|
||||
<el-button @click="addDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleAddSave">保存</el-button>
|
||||
<el-button type="primary" @click="handleAddSave">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -395,6 +395,10 @@ onMounted(() => {
|
||||
<style lang="scss" scoped>
|
||||
.query-form .el-form-item {
|
||||
margin-bottom: 5px;
|
||||
|
||||
.el-radio {
|
||||
margin-right: .625rem;
|
||||
}
|
||||
}
|
||||
|
||||
.page-box {
|
||||
@ -402,14 +406,17 @@ onMounted(() => {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.mb8 {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
|
||||
.tabDiv {
|
||||
padding: 10px;
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 4px;
|
||||
min-height: 70vh;
|
||||
height: 82vh;
|
||||
}
|
||||
|
||||
.dialogtabDiv {
|
||||
padding: 10px;
|
||||
height: 70vh;
|
||||
}
|
||||
</style>
|
||||
@ -46,7 +46,7 @@ const columns = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '78vh', // 高度
|
||||
height: 'calc(100% - 30px)', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -300,7 +300,7 @@ defineExpose({
|
||||
|
||||
<style scoped lang="scss">
|
||||
.basic_info {
|
||||
height: 82vh;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
|
||||
@ -3,13 +3,15 @@
|
||||
<div>
|
||||
<div class="modifyClass">
|
||||
<el-button type="primary" @click="onAddClick">增加</el-button>
|
||||
<el-button type="primary" @click="onDelClick">删除</el-button>
|
||||
|
||||
</div>
|
||||
<CustomTable ref="tableRef" :data="modelParam.commonDescriptionsData" :columns="columns" :config="tableConfig"
|
||||
@row-click="rowClick">
|
||||
<CustomTable ref="tableRef" :data="modelParam.commonDescriptionsData" :columns="columns" :config="tableConfig">
|
||||
<template #textresult="{ row }">
|
||||
<el-input type="textarea" v-model="row.textresult" class="full-width-input" autosize></el-input>
|
||||
</template>
|
||||
<template #action="{ row }">
|
||||
<el-button type="primary" link @click="onDelClick(row)">删除</el-button>
|
||||
</template>
|
||||
</CustomTable>
|
||||
</div>
|
||||
</template>
|
||||
@ -24,16 +26,13 @@ import { delXmTextresultNew } from '@/api/liswork/labItem/labItemApi';
|
||||
|
||||
const modelParam = defineModel<any>()
|
||||
|
||||
watch(() => modelParam.value.commonDescriptionsData, (val) => {
|
||||
selectRow.value = null
|
||||
})
|
||||
const tableRef = ref();
|
||||
const columns = ref([
|
||||
{ prop: 'textresult', label: '文字描述', visible: true, align: 'center', slot: 'textresult', width: 500, showOverflowTooltip: false },
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '78vh', // 高度
|
||||
height: 'calc(100% - 30px)', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
@ -49,11 +48,6 @@ const maxXh = computed(() => {
|
||||
return modelParam.value.commonDescriptionsData.length > 0 ? modelParam.value.commonDescriptionsData.length + 1 : 0;
|
||||
});
|
||||
|
||||
const rowClick = (row: any) => {
|
||||
selectRow.value = row
|
||||
}
|
||||
|
||||
|
||||
const onAddClick = () => {
|
||||
const newData: XmTextresultNew = {
|
||||
xmid: modelParam.value.basicData.xmid,
|
||||
@ -64,13 +58,12 @@ const onAddClick = () => {
|
||||
modelParam.value.commonDescriptionsData.push(newData)
|
||||
}
|
||||
|
||||
const onDelClick = () => {
|
||||
if (!selectRow.value) return ElMessage.warning('请选择要删除的数据!');
|
||||
const onDelClick = (row) => {
|
||||
ElMessageBox.confirm('是否要删除选中的数据?', '警告',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', }).then(() => {
|
||||
delXmTextresultNew({ xmid: modelParam.value.basicData.xmid, xh: selectRow.value.xh }).then((res: any) => {
|
||||
delXmTextresultNew({ xmid: modelParam.value.basicData.xmid, xh: row.xh }).then((res: any) => {
|
||||
if (res.code == 0) {
|
||||
modelParam.value.commonDescriptionsData = modelParam.value.commonDescriptionsData.filter((item: any) => item.xh != selectRow.value.xh)
|
||||
modelParam.value.commonDescriptionsData = modelParam.value.commonDescriptionsData.filter((item: any) => item.xh != row.xh)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@ -32,7 +32,7 @@ const columns = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '81.5vh', // 高度
|
||||
height: '100%', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -3,69 +3,73 @@
|
||||
<div>
|
||||
<div class="modifyClass">
|
||||
<el-button type="primary" @click="onAddClick">增加</el-button>
|
||||
<el-button type="primary" @click="onDelClick">删除</el-button>
|
||||
<el-button type="danger" @click="onDelClick">删除</el-button>
|
||||
</div>
|
||||
<CustomTable ref="tableRefUp" :data="modelParam.referenceValueDetailsData" :columns="columnsUp"
|
||||
:enable-column-drag="true" @column-drag-end="handleColumnDragEnd" :config="tableConfig" @row-click="rowClick">
|
||||
<template #xb="{ row }">
|
||||
<el-select v-model="row.xb" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsXb" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #nl1="{ row }">
|
||||
<el-input v-model="row.nl1" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #cp_nldw1="{ row }">
|
||||
<el-select v-model="row.nldw" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsNLDW" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #nl2="{ row }">
|
||||
<el-input v-model="row.nl2" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #cp_nldw2="{ row }">
|
||||
<el-select v-model="row.nldw" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsNLDW" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #bblx="{ row }">
|
||||
<SelectTable v-model:data="row.bblx" :fields="fields" :tableData="dictData.BT" label="label" value="label"
|
||||
objKey="label" :border="true" class="full-width-input" />
|
||||
</template>
|
||||
<template #slzq="{ row }">
|
||||
<el-select v-model="row.slzq" clearable class="full-width-input">
|
||||
<el-option v-for="item in dictData.SLZQ" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #zd="{ row }">
|
||||
<el-input v-model="row.zd" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #ckxx="{ row }">
|
||||
<el-input v-model="row.ckxx" class="full-width-input" @input="updateDyck(row)"></el-input>
|
||||
</template>
|
||||
<template #cksx="{ row }">
|
||||
<el-input v-model="row.cksx" class="full-width-input" @input="updateDyck(row)"></el-input>
|
||||
</template>
|
||||
<template #alterxx="{ row }">
|
||||
<el-input v-model="row.alterxx" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #altersx="{ row }">
|
||||
<el-input v-model="row.altersx" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #dyck="{ row }">
|
||||
<el-text class="mx-1">{{ row.dyck }}</el-text>
|
||||
</template>
|
||||
</CustomTable>
|
||||
<el-row>
|
||||
仪器特定参考值:
|
||||
</el-row>
|
||||
<div style="height: 44%;">
|
||||
<CustomTable ref="tableRefUp" :data="modelParam.referenceValueDetailsData" :columns="columnsUp"
|
||||
:enable-column-drag="true" @column-drag-end="handleColumnDragEnd" :config="tableConfig" @row-click="rowClick">
|
||||
<template #xb="{ row }">
|
||||
<el-select v-model="row.xb" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsXb" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #nl1="{ row }">
|
||||
<el-input v-model="row.nl1" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #cp_nldw1="{ row }">
|
||||
<el-select v-model="row.nldw" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsNLDW" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #nl2="{ row }">
|
||||
<el-input v-model="row.nl2" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #cp_nldw2="{ row }">
|
||||
<el-select v-model="row.nldw" clearable class="full-width-input">
|
||||
<el-option v-for="item in optionsNLDW" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #bblx="{ row }">
|
||||
<SelectTable v-model:data="row.bblx" :fields="fields" :tableData="dictData.BT" label="label" value="label"
|
||||
objKey="label" :border="true" class="full-width-input" />
|
||||
</template>
|
||||
<template #slzq="{ row }">
|
||||
<el-select v-model="row.slzq" clearable class="full-width-input">
|
||||
<el-option v-for="item in dictData.SLZQ" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #zd="{ row }">
|
||||
<el-input v-model="row.zd" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #ckxx="{ row }">
|
||||
<el-input v-model="row.ckxx" class="full-width-input" @input="updateDyck(row)"></el-input>
|
||||
</template>
|
||||
<template #cksx="{ row }">
|
||||
<el-input v-model="row.cksx" class="full-width-input" @input="updateDyck(row)"></el-input>
|
||||
</template>
|
||||
<template #alterxx="{ row }">
|
||||
<el-input v-model="row.alterxx" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #altersx="{ row }">
|
||||
<el-input v-model="row.altersx" class="full-width-input"></el-input>
|
||||
</template>
|
||||
<template #dyck="{ row }">
|
||||
<el-text class="mx-1">{{ row.dyck }}</el-text>
|
||||
</template>
|
||||
</CustomTable>
|
||||
</div>
|
||||
<div class="tips"> 仪器特定参考值:</div>
|
||||
<div class="modifyClass">
|
||||
<el-button type="primary" @click="">增加</el-button>
|
||||
<el-button type="primary" @click="">删除</el-button>
|
||||
<el-button type="danger" @click="">删除</el-button>
|
||||
</div>
|
||||
<div style="height: 44%;">
|
||||
<CustomTable ref="tableRefDown" :data="dataListDown" :columns="columnsDown" :enable-column-drag="true"
|
||||
@column-drag-end="handleColumnDragEnd" :config="tableConfig" />
|
||||
</div>
|
||||
<CustomTable ref="tableRefDown" :data="dataListDown" :columns="columnsDown" :enable-column-drag="true"
|
||||
@column-drag-end="handleColumnDragEnd" :config="tableConfig" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -104,21 +108,21 @@ const fields = ref(
|
||||
// const dataListUp = ref();
|
||||
const dataListDown = ref([]);
|
||||
const columnsUp = ref([
|
||||
{ prop: 'xmid', label: 'xmid', visible: false, align: 'center' },
|
||||
{ prop: 'xh', label: '序号', visible: false, align: 'center' },
|
||||
{ prop: 'xmid', label: 'xmid', visible: false, align: 'center', showOverflowTooltip: false },
|
||||
{ prop: 'xh', label: '序号', visible: false, align: 'center', showOverflowTooltip: false },
|
||||
{ prop: 'xb', label: '性别', visible: true, align: 'center', slot: 'xb', width: 80, showOverflowTooltip: false },
|
||||
{ prop: 'nl1', label: '年龄下限', visible: true, align: 'center', slot: 'nl1', width: 70 },
|
||||
{ prop: 'nl1', label: '年龄下限', visible: true, align: 'center', slot: 'nl1', width: 70, showOverflowTooltip: false },
|
||||
{ prop: 'nldw', label: '年龄单位', visible: true, align: 'center', slot: 'cp_nldw1', width: 80, showOverflowTooltip: false },
|
||||
{ prop: 'nl2', label: '年龄上限', visible: true, align: 'center', slot: 'nl2', width: 70 },
|
||||
{ prop: 'nl2', label: '年龄上限', visible: true, align: 'center', slot: 'nl2', width: 70, showOverflowTooltip: false },
|
||||
{ prop: 'nldw', label: '年龄单位', visible: true, align: 'center', slot: 'cp_nldw2', width: 80, showOverflowTooltip: false },
|
||||
{ prop: 'bblx', label: '标本类型', visible: true, align: 'center', slot: 'bblx', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'slzq', label: '生理周期', visible: true, align: 'center', slot: 'slzq', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'zd', label: '诊断', visible: true, align: 'center', slot: 'zd', width: 100 },
|
||||
{ prop: 'ckxx', label: '参考下限', visible: true, align: 'center', slot: 'ckxx', width: 100 },
|
||||
{ prop: 'cksx', label: '参考上限', visible: true, align: 'center', slot: 'cksx', width: 100 },
|
||||
{ prop: 'alterxx', label: '危急值下限', visible: true, align: 'center', slot: 'alterxx', width: 100 },
|
||||
{ prop: 'altersx', label: '危急值上限', visible: true, align: 'center', slot: 'altersx', width: 100 },
|
||||
{ prop: 'dyck', label: '参考值', visible: true, align: 'center', slot: 'dyck', width: 100 },
|
||||
{ prop: 'zd', label: '诊断', visible: true, align: 'center', slot: 'zd', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'ckxx', label: '参考下限', visible: true, align: 'center', slot: 'ckxx', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'cksx', label: '参考上限', visible: true, align: 'center', slot: 'cksx', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'alterxx', label: '危急值下限', visible: true, align: 'center', slot: 'alterxx', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'altersx', label: '危急值上限', visible: true, align: 'center', slot: 'altersx', width: 100, showOverflowTooltip: false },
|
||||
{ prop: 'dyck', label: '参考值', visible: true, align: 'center', slot: 'dyck', showOverflowTooltip: false },
|
||||
]);
|
||||
const columnsDown = ref([
|
||||
{ prop: 'xb', label: '性别', visible: true, align: 'center', slot: 'xb', width: 100 },
|
||||
@ -137,7 +141,7 @@ const columnsDown = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '35vh', // 高度
|
||||
height: '100%', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
@ -193,4 +197,10 @@ const rowClick = (row: any) => {
|
||||
::v-deep .el-input__inner {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tips {
|
||||
margin-bottom: 5px;
|
||||
border-bottom: 1px solid #eee;
|
||||
color: #1f6dd3;
|
||||
}
|
||||
</style>
|
||||
@ -26,7 +26,7 @@
|
||||
<el-input :model-value="getDyckz(row)" disabled class="full-width-input" />
|
||||
</template>
|
||||
<template #action="{ row, $index }">
|
||||
<el-button type="danger" text @click="onClickDel(row, $index)">删除</el-button>
|
||||
<el-button type="primary" text @click="onClickDel(row, $index)">删除</el-button>
|
||||
</template>
|
||||
</CustomTable>
|
||||
</div>
|
||||
@ -54,7 +54,7 @@ const columns = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '78vh', // 高度
|
||||
height: 'calc(100% - 30px)', // 高度
|
||||
highlightCurrentRow: false, // 高亮当前行
|
||||
actionWidth: 60, // 操作列宽度
|
||||
// cellStyle: cellStyleHd
|
||||
|
||||
@ -212,12 +212,11 @@ watch(yq, (newVal) => {
|
||||
<style scoped lang="scss">
|
||||
.sys_box {
|
||||
height: calc(100% - 58px);
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.table-toolbar {
|
||||
margin-bottom: 8px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
// 三列表格容器
|
||||
@ -46,7 +46,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
<script setup lang="ts" name="QualityParameters">
|
||||
import { ref, watch, nextTick, computed } from 'vue'
|
||||
import { ElMessage, ElTree, TreeNode, ElMessageBox, ElBadge } from 'element-plus'
|
||||
import { paramList, paramTree, getdef, updateParam } from '@/api/liswork/xtwh/ComOpt'
|
||||
@ -1,6 +1,6 @@
|
||||
<!-- 修改界面 -->
|
||||
<template>
|
||||
<el-dialog v-model="visible" :title="title" width="40vw" @open="open" :close-on-click-modal="false" :draggable="true">
|
||||
<el-dialog v-model="visible" :title="title" width="40vw" :close-on-click-modal="false" :draggable="true">
|
||||
|
||||
<span class="text-span">项目信息:</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
@ -117,7 +117,7 @@ const columnsRight = ref([
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '40vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
highlightCurrentRow: false, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -137,7 +137,15 @@ const handleColumnDragEnd = (data: any) => {
|
||||
}
|
||||
|
||||
|
||||
const dataList = ref<any>([])
|
||||
const dataList = ref<any>([
|
||||
{ reserve: '1', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'H', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'L', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'P', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'Q', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'J', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
{ reserve: 'N', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
])
|
||||
|
||||
|
||||
const reserve = (reserve: string) => {
|
||||
@ -172,7 +180,7 @@ const handleOk = async () => {
|
||||
|
||||
}
|
||||
|
||||
const open = () => {
|
||||
const open = (row, dataListRight) => {
|
||||
if (props.type === '新增') {
|
||||
dataList.value = [
|
||||
{ reserve: '1', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
@ -184,11 +192,15 @@ const open = () => {
|
||||
{ reserve: 'N', textresult: '', yxjs: '', cjyy: '', zd: '' },
|
||||
]
|
||||
} else {
|
||||
|
||||
formData.value = row
|
||||
dataList.value = dataListRight
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
defineExpose({ open })
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
@ -130,7 +130,8 @@ const onAddClick = () => {
|
||||
|
||||
}
|
||||
|
||||
const onEditClick = (row) => {
|
||||
const onEditClick = async (row) => {
|
||||
modifyRef.value.open(row, dataListRight.value)
|
||||
modifyVisible.value = true
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user