Merge branch 'main' of http://47.97.125.165:8902/jiangs/lis8.0-vue3
This commit is contained in:
commit
8ee0a90a5c
@ -124,7 +124,7 @@ aside {
|
||||
//main-container全局样式
|
||||
.app-container {
|
||||
padding: 10px 10px 0 10px;
|
||||
min-height: calc(100vh - 84px);
|
||||
min-height: calc(100vh - 5.25rem);
|
||||
}
|
||||
|
||||
.components-container {
|
||||
@ -309,3 +309,28 @@ aside {
|
||||
margin-right: 0.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.search-form {
|
||||
:deep(.el-form-item__label) {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
:deep(.el-form-item) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.el-form-item--default {
|
||||
margin-bottom: .3125rem !important;
|
||||
}
|
||||
|
||||
.el-form-item--small {
|
||||
margin-bottom: .3125rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.page-box {
|
||||
margin-top: 10px;
|
||||
float: right;
|
||||
}
|
||||
@ -19,11 +19,12 @@ const props = withDefaults(defineProps<{
|
||||
size?: string,
|
||||
clearable?: boolean,
|
||||
instrGroup?: string | number, //部门组代号
|
||||
data: string
|
||||
data: string | undefined
|
||||
}>(), {
|
||||
width: '100%',
|
||||
size: 'default',
|
||||
clearable: false
|
||||
clearable: false,
|
||||
data: ''
|
||||
})
|
||||
|
||||
const instrOptions = ref<Array<{ yq: string; yqmc: string }>>([]);
|
||||
|
||||
@ -55,12 +55,13 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
placeholder: "请选择",
|
||||
size: "default",
|
||||
isHighlight: true,
|
||||
value: undefined,
|
||||
label: undefined,
|
||||
border: false,
|
||||
value: 'value',
|
||||
label: 'label',
|
||||
border: true,
|
||||
width: "100%",
|
||||
dictType: '',
|
||||
clearable: true
|
||||
clearable: true,
|
||||
objKey: ''
|
||||
});
|
||||
|
||||
|
||||
|
||||
@ -1,55 +1,52 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="14" :xs="24">
|
||||
<el-col :span="14">
|
||||
<!-- 表单区域-->
|
||||
<el-form inline :model="queryParams" class="mb8" size="small">
|
||||
<el-form-item label="项目类别">
|
||||
<el-form inline :model="queryParams" class="search-form " size="small" label-width="85px">
|
||||
<el-form-item label="项目类别:">
|
||||
<SelectTable v-model:data="queryParams.xmgl" :fields="xmglFields" :tableData="dictData.XMGL" label="label"
|
||||
value="value" objKey="value" width="140px" placeholder="项目类别" size="small" @getDataValue="getList" />
|
||||
value="value" objKey="value" width="8.75rem" size="small" @getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="细菌标志">
|
||||
<el-form-item label="细菌标志:">
|
||||
<SelectTable v-model:data="queryParams.itemclass" :fields="itemclassFields" :tableData="dictData.ITEMCLASS"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="细菌标志" size="small"
|
||||
@getDataValue="getList" />
|
||||
label="label" value="value" objKey="value" width="8.75rem" size="small" @getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仪器代号">
|
||||
<el-form-item label="仪器代号:">
|
||||
<SelectTable v-model:data="queryParams.yq" :fields="yqFields" :tableData="instrOptions" label="yqmc"
|
||||
value="yq" objKey="yq" :border="true" width="140px" placeholder="请选择仪器" size="small"
|
||||
value="yq" objKey="yq" :border="true" width="8.75rem" placeholder="请选择仪器" size="small"
|
||||
@getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="快速查找">
|
||||
<el-input clearable placeholder="快速查找" v-model="queryParams.inputcode" prefix-icon="Search"
|
||||
style="width: 150px" @change="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仪器大类">
|
||||
<SelectTable v-model:data="queryParams.yqdl" :fields="yqdlFields" :tableData="dictData.YQDL" label="label"
|
||||
value="value" objKey="value" :border="true" width="140px" placeholder="仪器大类" size="small"
|
||||
@getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目ID">
|
||||
<el-input clearable placeholder="项目ID" prefix-icon="Search" v-model="queryParams.xmid" style="width: 150px"
|
||||
<el-form-item label="快速查找:">
|
||||
<el-input clearable v-model="queryParams.inputcode" prefix-icon="Search" style="width: 8.75rem"
|
||||
@change="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仪器大类:">
|
||||
<SelectTable v-model:data="queryParams.yqdl" :fields="yqdlFields" :tableData="dictData.YQDL" label="label"
|
||||
value="value" objKey="value" :border="true" width="8.75rem" size="small" @getDataValue="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目ID:">
|
||||
<el-input clearable placeholder="项目ID" prefix-icon="Search" v-model="queryParams.xmid"
|
||||
style="width: 8.75rem" @change="getList" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-radio-group v-model="queryParams.uflag" fill="primary" size="large" @change="changeStauts">
|
||||
<el-radio-group v-model="queryParams.uflag" fill="primary" :size="autoSize" @change="changeStauts">
|
||||
<el-radio value="0">在用</el-radio>
|
||||
<el-radio value="1">停用</el-radio>
|
||||
<el-radio value="">所有</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-checkbox v-model="queryParams.isMIC" label="隐藏微生物项目" size="large" @change="getList" />
|
||||
<el-checkbox v-model="queryParams.isMIC" label="隐藏微生物项目" :size="autoSize" @change="getList" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Plus" @click="handleRefresh">刷新</el-button>
|
||||
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
|
||||
<el-button type="primary" plain icon="Plus" @click="handleDel">删除</el-button>
|
||||
<el-button type="primary" plain icon="Plus" @click="handleBatchVs">批量项目对应</el-button>
|
||||
<el-button type="primary" plain icon="Plus" @click="handleBatchDel">批量删除对应</el-button>
|
||||
<el-button type="primary" plain icon="Plus" @click="handleSave">保存</el-button>
|
||||
<el-button type="primary" plain icon="Refresh" :size="autoSize" @click="handleRefresh">刷新</el-button>
|
||||
<el-button type="primary" plain icon="Plus" :size="autoSize" @click="handleAdd">新增</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-col>
|
||||
</el-row>
|
||||
<!-- 表格区域-->
|
||||
@ -59,7 +56,7 @@
|
||||
{{ formatDict(row.xmgl, 'XMGL') }}
|
||||
</template>
|
||||
<template #xmlb="{ row }">
|
||||
{{xmlbList.find(item => item.value === row.xmlb).label}}
|
||||
{{xmlbList.find(item => item.value === row.xmlb)?.label}}
|
||||
</template>
|
||||
<template #jsxm="{ row }">
|
||||
{{ row.jsxm === 'Y' ? '是' : '否' }}
|
||||
@ -71,15 +68,21 @@
|
||||
{{ formatDict(row.yqdl, 'YQDL') }}
|
||||
</template>
|
||||
</CustomTable>
|
||||
|
||||
<div class="page-box">
|
||||
<el-pagination v-model:current-page="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
||||
:page-sizes="[30, 60, 100]" background layout="total, sizes, prev, pager, next,jumper" :total="total"
|
||||
:size="autoSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
||||
</div>
|
||||
</el-col>
|
||||
<!-- 右侧区域-->
|
||||
<el-col :span="10" :xs="24">
|
||||
<el-col :span="10">
|
||||
<tabView :tabList="tabList" v-model:activeTab="activeTab" @update:active-tab="updateActive" />
|
||||
<KeepAlive>
|
||||
<component class="tabDiv" ref="tableTabRef" :is="activeTabN" :formData="selectRow" v-model="modelParam"
|
||||
@refreshTabData="rowChange"></component>
|
||||
</KeepAlive>
|
||||
<BatchInstrVs v-show="batchInstrVsModel.visible" v-model="batchInstrVsModel" />
|
||||
<BatchInstrVs v-model="batchInstrVsModel" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@ -88,15 +91,15 @@
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref, toRaw, computed } from 'vue';
|
||||
import Basic from './tab/base/Basic.vue'
|
||||
import CommonlyValues from '@/views/liswork/labItem/tab/CommonlyValues.vue'
|
||||
import UseInstr from './tab/UseInstr.vue'
|
||||
import Knowledge from './tab/Knowledge.vue'
|
||||
import CommonDescriptions from './tab/CommonDescriptions.vue'
|
||||
import CommonlyValues from './tab/commonlyValues.vue'
|
||||
import UseInstr from './tab/useInstr.vue'
|
||||
import Knowledge from './tab/knowledge.vue'
|
||||
import CommonDescriptions from './tab/commonDescriptions.vue'
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import Sort from './tab/Sort.vue'
|
||||
import Parameter from './tab/Parameter.vue';
|
||||
import ChannelNumber from './tab/ChannelNumber.vue';
|
||||
import ReferenceValueDetails from './tab/ReferenceValueDetails.vue';
|
||||
import Sort from './tab/sort.vue'
|
||||
import Parameter from './tab/parameter.vue';
|
||||
import ChannelNumber from './tab/channelNumber.vue';
|
||||
import ReferenceValueDetails from './tab/referenceValueDetails.vue';
|
||||
import { queryXmInfoNewService, queryXmInfoNewDetailService, saveDataService, deleteXmInfoService } from '@/api/liswork/labItem/labItemApi';
|
||||
import SelectTable from '@/components/SelectTable/index.vue'
|
||||
import { getGroupInstrdList } from '@/api/liswork/work/LisWork';
|
||||
@ -106,6 +109,8 @@ import { formatDict, getDictData, dictData } from '@/hooks';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import BatchInstrVs from './BatchInstrVs.vue';
|
||||
import _ from 'lodash';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const autoSize = classCom.useAutoSize()
|
||||
|
||||
const xmlbList = ref<Array<any>>([
|
||||
{ label: '数值型', value: '1' },
|
||||
@ -122,8 +127,13 @@ const queryParams = ref({
|
||||
yqdl: '', //仪器大类
|
||||
xmid: '', //项目ID
|
||||
uflag: '0', //状态
|
||||
isMIC: false || null //是否隐藏微生物项目
|
||||
isMIC: false || null, //是否隐藏微生物项目
|
||||
pageSize: 30,
|
||||
pageNum: 1
|
||||
})
|
||||
|
||||
const total = ref(0)
|
||||
|
||||
//字典数据
|
||||
const tableRef = ref()
|
||||
const xmglFields = ref([
|
||||
@ -157,7 +167,7 @@ const activeTabMap = {
|
||||
ReferenceValueDetails
|
||||
}
|
||||
|
||||
const activeTabN = computed(() => activeTabMap[activeTab.value as keyof typeof activeTabMap] || Basic);
|
||||
const activeTabN = computed(() => activeTabMap[activeTab.value as keyof typeof activeTabMap] || "Basic");
|
||||
|
||||
//table表格列
|
||||
const columns = ref([
|
||||
@ -185,7 +195,7 @@ const columns = ref([
|
||||
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '66vh', // 高度
|
||||
height: '70vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
@ -214,7 +224,6 @@ const modelParam = ref<any>({
|
||||
commonDescriptionsData: [],
|
||||
referenceValueDetailsData: []
|
||||
})
|
||||
const basic = ref<boolean>(false)
|
||||
|
||||
// 1. 定义变量跟踪是否有未保存的修改
|
||||
const hasUnsavedChanges = ref(false);
|
||||
@ -251,17 +260,33 @@ const getYqConfig = () => {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const handleSizeChange = (val: number) => {
|
||||
queryParams.value.pageSize = val;
|
||||
getList();
|
||||
}
|
||||
const handleCurrentChange = (val: number) => {
|
||||
queryParams.value.pageNum = val;
|
||||
getList();
|
||||
}
|
||||
//获取表格数据
|
||||
const getList = () => {
|
||||
queryXmInfoNewService(queryParams.value).then((res: any) => {
|
||||
dataList.value = res.data;
|
||||
dataList.value = res.rows || [];
|
||||
total.value = res.total;
|
||||
hasUnsavedChanges.value = false;
|
||||
if (res.rows.length) {
|
||||
tableRef.value.setCurrentRow(res.rows[0]);
|
||||
rowChange(res.rows[0]);
|
||||
} else {
|
||||
selectRow.value = '';
|
||||
selectDetailRow.value = '';
|
||||
changeActiveTab()
|
||||
}
|
||||
})
|
||||
}
|
||||
//新增
|
||||
const handleAdd = () => {
|
||||
selectRow.value = '';
|
||||
tableTabRef.value.changeDisabled(false);
|
||||
modelParam.value = {
|
||||
basicData: {
|
||||
yq: '',
|
||||
@ -306,22 +331,20 @@ const handleAdd = () => {
|
||||
}
|
||||
|
||||
//删除
|
||||
const handleDel = async () => {
|
||||
if (selectRow.value) {
|
||||
await ElMessageBox.confirm('是否删除选中的数据?', '提示',
|
||||
const handleDel = () => {
|
||||
if (selectRow.value.xmid) {
|
||||
ElMessageBox.confirm('是否删除选中的数据?', '提示',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }
|
||||
);
|
||||
await deleteXmInfoService({ xmid: selectRow.value.xmid });
|
||||
).then(() => {
|
||||
deleteXmInfoService({ xmid: selectRow.value.xmid }).then((res: any) => {
|
||||
if (res.code == 0) {
|
||||
ElMessage.success('删除成功!')
|
||||
getList();
|
||||
selectRow.value = null;
|
||||
if (typeof tableTabRef.value.changeDisabled === 'function') {
|
||||
tableTabRef.value.changeDisabled(true);
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//批量对应
|
||||
@ -329,24 +352,17 @@ const handleBatchVs = () => {
|
||||
batchInstrVsModel.value.visible = true;
|
||||
}
|
||||
|
||||
//批量删除对应
|
||||
const handleBatchDel = () => {
|
||||
console.log('删除对应')
|
||||
}
|
||||
|
||||
|
||||
//保存
|
||||
const handleSave = async (flag: any) => {
|
||||
|
||||
//验证表单
|
||||
if (typeof tableTabRef.value.validate === 'function') {
|
||||
const valid = await tableTabRef.value.validate(); // 调用子组件的验证方法
|
||||
if (!valid) {
|
||||
ElMessage.error('表单验证失败,请检查输入项!');
|
||||
return;
|
||||
}
|
||||
if (activeTab.value == 'Basic') {
|
||||
const valid = await tableTabRef.value.validate(); // 调用基本资料子组件的验证方法
|
||||
if (!valid) return ElMessage.error('表单验证失败,请检查输入项!');
|
||||
}
|
||||
|
||||
await saveDataService({
|
||||
saveDataService({
|
||||
xmInfoNew: modelParam.value.basicData,
|
||||
xmDoubleRows: [],
|
||||
xmValRows: [],
|
||||
@ -357,21 +373,19 @@ const handleSave = async (flag: any) => {
|
||||
xmRefNewRows: modelParam.value.referenceValueDetailsData,
|
||||
xmInfoVsRows: modelParam.value.userInstrData,
|
||||
xmTextresultNewRows: modelParam.value.commonDescriptionsData
|
||||
}).then((res: any) => {
|
||||
if (res.code == 0) {
|
||||
ElMessage.success('保存成功!')
|
||||
getList();
|
||||
// 保存后更新快照
|
||||
initialModelParam.value = _.cloneDeep(modelParam.value);
|
||||
hasUnsavedChanges.value = false;
|
||||
tableConfig.value.highlightCurrentRow = true
|
||||
}
|
||||
})
|
||||
if (!flag) {
|
||||
rowChange(selectRow.value)
|
||||
}
|
||||
|
||||
if (basic.value) {
|
||||
getList();
|
||||
basic.value = false
|
||||
}
|
||||
ElMessage.success('保存成功!')
|
||||
|
||||
// 保存后更新快照
|
||||
initialModelParam.value = _.cloneDeep(modelParam.value);
|
||||
hasUnsavedChanges.value = false;
|
||||
|
||||
}
|
||||
|
||||
const handleRefresh = () => {
|
||||
@ -394,14 +408,9 @@ const changeStauts = () => {
|
||||
|
||||
// 选择行变化
|
||||
const rowChange = async (row: any) => {
|
||||
if (typeof tableTabRef.value.changeDisabled === 'function') {
|
||||
tableTabRef.value.changeDisabled(false);
|
||||
}
|
||||
|
||||
// 如果有未保存的修改,显示提示
|
||||
if (hasUnsavedChanges.value) {
|
||||
try {
|
||||
await ElMessageBox.confirm(
|
||||
ElMessageBox.confirm(
|
||||
'当前数据有未保存的修改,是否保存?',
|
||||
'提示',
|
||||
{
|
||||
@ -409,18 +418,23 @@ const rowChange = async (row: any) => {
|
||||
cancelButtonText: '不保存',
|
||||
type: 'warning'
|
||||
}
|
||||
);
|
||||
).then(() => {
|
||||
// 用户选择保存
|
||||
await handleSave("1");
|
||||
} catch (error) {
|
||||
// 用户选择不保存,继续执行
|
||||
handleSave("1");
|
||||
}).catch(() => {
|
||||
// 用户选择不保存
|
||||
getInfo(row)
|
||||
})
|
||||
} else {
|
||||
getInfo(row)
|
||||
}
|
||||
}
|
||||
|
||||
const getInfo = async (row: any) => {
|
||||
tableConfig.value.highlightCurrentRow = true
|
||||
selectRow.value = row;
|
||||
const res = await queryXmInfoNewDetailService(row.xmid, row.yq, row.xmdh)
|
||||
selectDetailRow.value = res.data
|
||||
console.log('选中行明细数据:', selectDetailRow.value)
|
||||
changeActiveTab()
|
||||
initialModelParam.value = _.cloneDeep(modelParam.value);
|
||||
hasUnsavedChanges.value = false;
|
||||
@ -429,8 +443,6 @@ const rowChange = async (row: any) => {
|
||||
if (typeof tableTabRef.value.resetField === 'function') {
|
||||
tableTabRef.value.resetField();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//tab变化
|
||||
@ -440,7 +452,6 @@ const updateActive = () => {
|
||||
|
||||
|
||||
const changeActiveTab = () => {
|
||||
if (selectRow.value) {
|
||||
modelParam.value.basicData = toRaw(selectDetailRow.value.xmInfoNew || {});
|
||||
modelParam.value.commonlyValuesData = toRaw(selectDetailRow.value.xmValNewRows || []);
|
||||
modelParam.value.userInstrData = toRaw(selectDetailRow.value.xmInfoVsRows || []);
|
||||
@ -448,8 +459,6 @@ const changeActiveTab = () => {
|
||||
modelParam.value.referenceValueDetailsData = toRaw(selectDetailRow.value.xmRefNewRows || []);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
getDictData('XMGL', 'ITEMCLASS', 'YQDL');
|
||||
getList()
|
||||
@ -459,9 +468,4 @@ onMounted(async () => {
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="css">
|
||||
.tabDiv {
|
||||
height: 88vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss" scoped></style>
|
||||
@ -8,12 +8,12 @@
|
||||
<CustomTable ref="tableRef" :data="modelParam.commonlyValuesData" :columns="columns" :enable-column-drag="true"
|
||||
@column-drag-end="handleColumnDragEnd" :config="tableConfig" @row-click="handRowClick">
|
||||
<template #qz="{ row }">
|
||||
<el-select v-model="row.qz" clearable allow-create filterable default-first-option>
|
||||
<el-select v-model="row.qz" clearable allow-create filterable default-first-option class="full-width-input">
|
||||
<el-option v-for="item in qzOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #jgbz="{ row }">
|
||||
<el-select v-model="row.jgbz" clearable>
|
||||
<el-select v-model="row.jgbz" clearable class="full-width-input">
|
||||
<el-option v-for="item in jgbzOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
@ -27,7 +27,7 @@
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { dictData, getDictData } from '@/hooks';
|
||||
import { ElMessageBox } from 'element-plus';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import { delXmValNewService } from '@/api/liswork/labItem/labItemApi'
|
||||
|
||||
|
||||
@ -36,13 +36,13 @@ const emit = defineEmits(['refreshTabData'])
|
||||
|
||||
const tableRef = ref<any>();
|
||||
const columns = ref([
|
||||
{ prop: 'qz', label: '取值', visible: true, align: 'center', slot: 'qz', width: 200 },
|
||||
{ prop: 'srm', label: '快速输入码', visible: true, align: 'center', slot: 'srm', width: 100 },
|
||||
{ prop: 'jgbz', label: '结果标志', visible: true, align: 'center', slot: 'jgbz', width: 100 }
|
||||
{ prop: 'qz', label: '取值', visible: true, align: 'center', slot: 'qz', showOverflowTooltip: false },
|
||||
{ prop: 'srm', label: '快速输入码', visible: true, align: 'center', slot: 'srm' },
|
||||
{ prop: 'jgbz', label: '结果标志', visible: true, align: 'center', slot: 'jgbz', showOverflowTooltip: false }
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '80vh', // 高度
|
||||
height: '78vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
@ -58,7 +58,7 @@ const handleColumnDragEnd = (data: any) => {
|
||||
|
||||
//序号最大值
|
||||
const maxXh = computed(() => {
|
||||
return modelParam.value.commonlyValuesData.length > 0 ? Math.max(...modelParam.value.commonlyValuesData.value.map((item: any) => item.xh || 0)) : 0;
|
||||
return modelParam.value.commonlyValuesData.length > 0 ? modelParam.value.commonlyValuesData.length + 1 : 0;
|
||||
});
|
||||
|
||||
const bClickAdd = () => {
|
||||
@ -67,22 +67,21 @@ const bClickAdd = () => {
|
||||
qz: '',
|
||||
srm: '',
|
||||
jgbz: '',
|
||||
xh: maxXh.value + 1
|
||||
xh: maxXh.value
|
||||
}
|
||||
modelParam.value.commonlyValuesData.push(newData);
|
||||
|
||||
}
|
||||
|
||||
const bClickDel = async () => {
|
||||
if (selectRow.value) {
|
||||
await ElMessageBox.confirm('是否要删除选中的数据?', '警告',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' });
|
||||
const bClickDel = () => {
|
||||
if (!selectRow.value) return ElMessage.warning('请选择要删除的数据!');
|
||||
ElMessageBox.confirm('是否要删除选中的数据?', '警告',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(async () => {
|
||||
//删掉界面上面的数据
|
||||
//tableList.value = tableList.value?.filter((item:any) => item.xh != selectRow.value.xh );
|
||||
await delXmValNewService({ xmid: modelParam.value.basicData.xmid, xh: selectRow.value.xh })
|
||||
emit('refreshTabData', modelParam.value.basicData)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,106 +1,108 @@
|
||||
<template>
|
||||
<!-- 基本资料 -->
|
||||
<div>
|
||||
<div class="basic_info">
|
||||
<el-form ref="formRef" :model="modelParam.basicData" :rules="rules" size="small" class="form-inline" inline
|
||||
label-width="70px" :disabled="disabled" label-position="right" inline-message>
|
||||
label-width="6.25rem" label-position="right" :inline-message="false">
|
||||
<span class="text-span">基本参数:</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
<el-divider style="margin: .3125rem 0;" />
|
||||
<el-form-item label="项目类别" prop="xmgl">
|
||||
<SelectTable v-model:data="modelParam.basicData.xmgl" :fields="xmglFields" :tableData="dictData.XMGL"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="项目类别" size="small" />
|
||||
label="label" value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="英文缩写" prop="xmdh">
|
||||
<el-input placeholder="英文缩写" v-model="modelParam.basicData.xmdh" @input="xmdhInput"></el-input>
|
||||
<el-input v-model="modelParam.basicData.xmdh" @input="xmdhInput" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input placeholder="项目名称" v-model="modelParam.basicData.xmmc" @change="xmmcChange"></el-input>
|
||||
<el-input v-model="modelParam.basicData.xmmc" @change="xmmcChange" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单位" prop="dw">
|
||||
<SelectTable v-model:data="modelParam.basicData.dw" :fields="xmglFields" :tableData="dictData.UT" label="label"
|
||||
value="label" objKey="label" width="140px" placeholder="单位" size="small" />
|
||||
value="label" objKey="label" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="结果类别" prop="xmlb">
|
||||
<SelectTable v-model:data="modelParam.basicData.xmlb" :fields="xmglFields" :tableData="xmlbData" label="label"
|
||||
value="value" objKey="value" width="140px" placeholder="结果类别" size="small" />
|
||||
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="阴阳性" prop="mrz">
|
||||
<SelectTable v-model:data="modelParam.basicData.mrz" :fields="xmglFields" :tableData="mrzData" label="label"
|
||||
value="value" objKey="value" width="140px" placeholder="阴阳性" size="small" />
|
||||
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仪器大类" prop="yqdl">
|
||||
<SelectTable v-model:data="modelParam.basicData.yqdl" :fields="xmglFields" :tableData="dictData.YQDL"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="仪器大类" size="small" />
|
||||
label="label" value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="允许CV(%)" prop="qccv" label-width="100px">
|
||||
<el-input placeholder="允许CV(%)" type="number" v-model="modelParam.basicData.qccv"></el-input>
|
||||
<el-form-item label="允许CV(%)" prop="qccv">
|
||||
<el-input type="number" v-model="modelParam.basicData.qccv" />
|
||||
</el-form-item>
|
||||
<el-form-item label="稀释倍数" prop="xsbs">
|
||||
<el-input placeholder="稀释倍数" v-model="modelParam.basicData.xsbs"></el-input>
|
||||
<el-input v-model="modelParam.basicData.xsbs" />
|
||||
</el-form-item>
|
||||
<el-form-item label="whonet编码" prop="whocode" label-width="100px">
|
||||
<el-input placeholder="whonet编码" v-model="modelParam.basicData.whocode"></el-input>
|
||||
<el-form-item label="whonet编码" prop="whocode">
|
||||
<el-input v-model="modelParam.basicData.whocode" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Gram" prop="germflag">
|
||||
<el-input placeholder="Gram" v-model="modelParam.basicData.germflag"></el-input>
|
||||
<el-input v-model="modelParam.basicData.germflag" />
|
||||
</el-form-item>
|
||||
<el-form-item label="英文名称" prop="yymc">
|
||||
<el-input placeholder="英文名称" v-model="modelParam.basicData.yymc"></el-input>
|
||||
<el-input v-model="modelParam.basicData.yymc" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目ID" prop="xmid">
|
||||
<el-input placeholder="项目ID" disabled v-model="modelParam.basicData.xmid"></el-input>
|
||||
<el-input disabled v-model="modelParam.basicData.xmid" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="知识库编码" prop="knowledge">
|
||||
<el-input v-model="modelParam.basicData.knowledge" />
|
||||
</el-form-item>
|
||||
<el-form-item label="小数保留位数" prop="xsws">
|
||||
<SelectTable v-model:data="modelParam.basicData.xsws" :fields="xmglFields" :tableData="xswsData" label="label"
|
||||
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="打印形式" prop="dylx">
|
||||
<SelectTable v-model:data="modelParam.basicData.dylx" :fields="xmglFields" :tableData="dylxData" label="label"
|
||||
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="总汇表代号" prop="zhbdh">
|
||||
<el-input v-model="modelParam.basicData.zhbdh" />
|
||||
</el-form-item>
|
||||
<el-form-item label="报告单代号" prop="bgdh">
|
||||
<el-input v-model="modelParam.basicData.bgdh" />
|
||||
</el-form-item>
|
||||
<el-form-item label="价格" prop="jg">
|
||||
<el-input type="number" v-model="modelParam.basicData.jg" />
|
||||
</el-form-item>
|
||||
<el-form-item label="助记符" prop="zjf">
|
||||
<el-input v-model="modelParam.basicData.zjf" />
|
||||
</el-form-item>
|
||||
<el-form-item label="测试方法" prop="csff">
|
||||
<SelectTable v-model:data="modelParam.basicData.csff" :fields="xmglFields" :tableData="dictData.MD"
|
||||
label="label" value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="分组打印组号" prop="fzdyxh">
|
||||
<el-input type="number" v-model="modelParam.basicData.fzdyxh" />
|
||||
</el-form-item>
|
||||
<el-form-item label="细菌项目类别" prop="itemclass">
|
||||
<SelectTable v-model:data="modelParam.basicData.itemclass" :fields="xmglFields" :tableData="dictData.ITEMCLASS"
|
||||
label="label" value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="uflag">
|
||||
<el-checkbox value="uflag">停用</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item label="知识库编码" prop="knowledge" label-width="100px">
|
||||
<el-input placeholder="知识库编码" v-model="modelParam.basicData.knowledge"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小数保留位数" prop="xsws" label-width="100px">
|
||||
<SelectTable v-model:data="modelParam.basicData.xsws" :fields="xmglFields" :tableData="xswsData" label="label"
|
||||
value="value" objKey="value" width="140px" placeholder="小数保留位数" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="打印形式" prop="dylx">
|
||||
<SelectTable v-model:data="modelParam.basicData.dylx" :fields="xmglFields" :tableData="dylxData" label="label"
|
||||
value="value" objKey="value" width="140px" placeholder="打印形式" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="总汇表代号" prop="zhbdh" label-width="100px">
|
||||
<el-input placeholder="总汇表代号" v-model="modelParam.basicData.zhbdh"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="报告单代号" prop="bgdh" label-width="90px">
|
||||
<el-input placeholder="报告单代号" v-model="modelParam.basicData.bgdh"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="价格" prop="jg">
|
||||
<el-input placeholder="价格" type="number" v-model="modelParam.basicData.jg"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="助记符" prop="zjf">
|
||||
<el-input placeholder="助记符" v-model="modelParam.basicData.zjf"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="测试方法" prop="csff">
|
||||
<SelectTable v-model:data="modelParam.basicData.csff" :fields="xmglFields" :tableData="dictData.MD"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="测试方法" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="分组打印组号" prop="fzdyxh" label-width="100px">
|
||||
<el-input placeholder="分组打印组号" type="number" v-model="modelParam.basicData.fzdyxh"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="细菌项目类别" prop="itemclass" label-width="100px">
|
||||
<SelectTable v-model:data="modelParam.basicData.itemclass" :fields="xmglFields" :tableData="dictData.ITEMCLASS"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="细菌项目类别" size="small" />
|
||||
</el-form-item>
|
||||
<span class="text-span">结果参考值计算:</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
<el-divider style="margin: .3125rem 0;" />
|
||||
<el-form-item label="参考下限" prop="ckxx">
|
||||
<el-input placeholder="参考下限" v-model="modelParam.basicData.ckxx" @input="updatedyckz"></el-input>
|
||||
<el-input v-model="modelParam.basicData.ckxx" @input="updatedyckz" />
|
||||
</el-form-item>
|
||||
<el-form-item label="参考上限" prop="cksx">
|
||||
<el-input placeholder="参考上限" v-model="modelParam.basicData.cksx" @input="updatedyckz"></el-input>
|
||||
<el-input v-model="modelParam.basicData.cksx" @input="updatedyckz" />
|
||||
</el-form-item>
|
||||
<el-form-item label="参考值" prop="dyckz" label-width="60px">
|
||||
<el-input placeholder="参考值" v-model="modelParam.basicData.dyckz"></el-input>
|
||||
<el-button type="primary" @click="multiRefClick">多行参考值向导...</el-button>
|
||||
<el-form-item label="参考值" prop="dyckz">
|
||||
<el-input v-model="modelParam.basicData.dyckz" />
|
||||
<el-button type="primary" class="ml5" @click="multiRefClick">多行参考值向导...</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="公式" prop="jsgs" label-width="40px">
|
||||
<el-input placeholder="公式" v-model="modelParam.basicData.jsgs"></el-input>
|
||||
<el-button v-show="modelParam.basicData.jsxm === 'Y'" type="primary" @click="calcGuildeClick">向导...</el-button>
|
||||
<el-form-item label="公式" prop="jsgs">
|
||||
<el-input v-model="modelParam.basicData.jsgs" />
|
||||
<el-button v-show="modelParam.basicData.jsxm === 'Y'" type="primary" class="ml5"
|
||||
@click="calcGuildeClick">向导...</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-checkbox label="参考值与性别有关" v-model="ygxbCheck"></el-checkbox>
|
||||
@ -111,53 +113,53 @@
|
||||
<el-checkbox label="计算项目" v-model="jsxmCheck"></el-checkbox>
|
||||
</el-form-item>
|
||||
<span class="text-span">医学审核条件:</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
<el-form-item label="项目结果不可能大于" prop="sjx" label-width="140px">
|
||||
<el-input placeholder="项目结果不可能大于" v-model="modelParam.basicData.sjx" style="width: 100px;"></el-input>
|
||||
<el-divider style="margin: .3125rem 0;" />
|
||||
<el-form-item label="项目结果不可能大于" prop="sjx" label-width="8.75rem">
|
||||
<el-input v-model="modelParam.basicData.sjx" style="width:10rem" />
|
||||
</el-form-item>
|
||||
<el-form-item label="不可能小于" prop="xjx" label-width="90px">
|
||||
<el-input placeholder="不可能小于" v-model="modelParam.basicData.xjx" style="width: 100px;"></el-input>
|
||||
<el-form-item label="不可能小于" prop="xjx" label-width="7rem">
|
||||
<el-input v-model="modelParam.basicData.xjx" style="width:10rem" />
|
||||
</el-form-item>
|
||||
<el-form-item label="病人两次检验结果在" prop="jgjg" label-width="140px">
|
||||
<el-input placeholder="病人两次检验结果在" v-model="modelParam.basicData.jgjg" style="width: 100px;"></el-input>
|
||||
<el-form-item label="病人两次检验结果在" prop="jgjg" label-width="8.75rem">
|
||||
<el-input v-model="modelParam.basicData.jgjg" style="width:10rem" />
|
||||
</el-form-item>
|
||||
<!--计算属性-->
|
||||
<el-form-item label="天内不可能相差" prop="cp_jgz" label-width="120px">
|
||||
<el-input placeholder="天内不可能相差" v-model="modelParam.basicData.cp_jgz" style="width: 100px;"></el-input>
|
||||
<el-form-item label="天内不可能相差" prop="cp_jgz" label-width="7rem">
|
||||
<el-input v-model="modelParam.basicData.cp_jgz" style="width:10rem" />
|
||||
</el-form-item>
|
||||
<!--报警条件-->
|
||||
<span class="text-span">报警条件</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
<el-divider style="margin: .3125rem 0;" />
|
||||
<el-form-item label="危急值">
|
||||
<el-input placeholder="上限极值" v-model="modelParam.basicData.hlimt"></el-input>
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.llimit"></el-input>
|
||||
<el-button type="primary" @click="conditionClick">特定条件</el-button>
|
||||
<el-input placeholder="上限极值" v-model="modelParam.basicData.hlimt" />
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.llimit" />
|
||||
<el-button type="primary" class="ml5" @click="conditionClick">特定条件</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="复查">
|
||||
<el-input placeholder="上限极值" v-model="modelParam.basicData.redoxx"></el-input>
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.redosx"></el-input>
|
||||
<el-input placeholder="上限极值" v-model="modelParam.basicData.redoxx" />
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.redosx" />
|
||||
</el-form-item>
|
||||
<span class="text-span">其他参数</span>
|
||||
<el-divider style="margin: 5px 0;" />
|
||||
<el-divider style="margin: .3125rem 0;" />
|
||||
<el-form-item label="国标编码">
|
||||
<SelectTable v-model:data="modelParam.basicData.val1" :fields="xmglFields" :tableData="dictData.GBDM"
|
||||
label="label" value="value" objKey="value" width="140px" placeholder="国标编码" size="small" />
|
||||
label="label" value="value" objKey="value" width="12.5rem" placeholder="国标编码" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="外部代码2">
|
||||
<el-input v-model="modelParam.basicData.val2"></el-input>
|
||||
<el-input v-model="modelParam.basicData.val2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="外部代码3">
|
||||
<el-input v-model="modelParam.basicData.val3"></el-input>
|
||||
<el-input v-model="modelParam.basicData.val3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="外部代码4">
|
||||
<el-input v-model="modelParam.basicData.val4"></el-input>
|
||||
<el-input v-model="modelParam.basicData.val4" />
|
||||
</el-form-item>
|
||||
<el-form-item label="外部代码5">
|
||||
<el-input v-model="modelParam.basicData.val5"></el-input>
|
||||
<el-input v-model="modelParam.basicData.val5" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<MultiRef :refData="modelParam.basicData.dyckz" v-model:dialog-table-visible="mulitDialogTableVisible"
|
||||
<MultiRef :refData="modelParam.basicData.dyckz || ''" v-model:dialog-table-visible="mulitDialogTableVisible"
|
||||
@closeWithReturn="closeWithReturnMultiRef" />
|
||||
<CalcGuilde v-model="calcDialogTableVisible" :form-data="modelParam.basicData" :text="modelParam.basicData.jsgs"
|
||||
@confirm="handleDialogConfirm" />
|
||||
@ -174,11 +176,12 @@ import SelectTable from '@/components/SelectTable/index.vue'
|
||||
import Condition from './child/Condition.vue';
|
||||
//@ts-ignore
|
||||
import { getFirstLetter } from '@/utils/pinyin.js';
|
||||
import { ElMessage } from 'element-plus';
|
||||
|
||||
const modelParam = defineModel<any>()
|
||||
|
||||
const formRef = ref();
|
||||
const disabled = ref(true);
|
||||
|
||||
const mulitDialogTableVisible = ref(false)
|
||||
const calcDialogTableVisible = ref(false)
|
||||
const conditionTabVisible = ref(false)
|
||||
@ -211,7 +214,10 @@ const dylxData = [
|
||||
]
|
||||
|
||||
const rules = ref({
|
||||
dylx: [{ required: true, message: '请选择打印形式', trigger: 'blur' }],
|
||||
xmgl: [{ required: true, message: '请输入项目类别', trigger: 'blur' }],
|
||||
xmdh: [{ required: true, message: '请输入英文缩写', trigger: 'blur' }],
|
||||
xmmc: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
||||
yqdl: [{ required: true, message: '请选择仪器大类', trigger: 'change' }],
|
||||
})
|
||||
|
||||
computed(() => {
|
||||
@ -286,10 +292,8 @@ const updatedyckz = () => {
|
||||
|
||||
//多行参考值
|
||||
const multiRefClick = () => {
|
||||
if (modelParam.value.basicData.dyckz) {
|
||||
mulitDialogTableVisible.value = true
|
||||
}
|
||||
}
|
||||
|
||||
const closeWithReturnMultiRef = (val: string) => {
|
||||
modelParam.value.basicData.dyckz = val;
|
||||
@ -350,22 +354,25 @@ defineExpose({
|
||||
resetField: () => {
|
||||
formRef.value?.resetFields();
|
||||
},
|
||||
changeDisabled: (val: any) => {
|
||||
disabled.value = val;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="scss">
|
||||
.basic_info {
|
||||
height: 82vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.form-inline {
|
||||
padding: 10px;
|
||||
padding: .625rem .625rem 0 .625rem;
|
||||
background-color: #f5f7fa;
|
||||
height: auto;
|
||||
|
||||
.el-input {
|
||||
width: 150px;
|
||||
width: 12.5rem;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
@ -376,8 +383,18 @@ defineExpose({
|
||||
.text-span {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
color: #1f6dd3;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.el-checkbox {
|
||||
margin-right: .9375rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
:deep(.el-form-item__error) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -2,18 +2,26 @@
|
||||
<!-- 多行参考值配置界面 -->
|
||||
<el-dialog v-model="dialogTableVisibleVal" @close="handleDialogClose" title="多行参考值" width="600px" align-center>
|
||||
<el-form :model="formData" inline>
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="formData.refText">
|
||||
<el-input v-model="formData.refText" type="textarea" autosize style="width: 400px;"></el-input>
|
||||
<el-input v-model="formData.refText" type="textarea" :rows="10" style="width: 280px;"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item>
|
||||
<h3>多行参考值,每行作为一段:</h3>
|
||||
<h3>如果系统使用标准性激素报告单,</h3>
|
||||
<h3>则第一行表示:男性</h3>
|
||||
<h3>第二行表示:女卵泡期</h3>
|
||||
<h3>第三行表示:排卵期</h3>
|
||||
<h3>第四行表示:黄体期</h3>
|
||||
<h3>第五行表示:绝经期</h3>
|
||||
<div>多行参考值,每行作为一段:
|
||||
如果系统使用标准性激素报告单,<br />
|
||||
则第一行表示:男性<br />
|
||||
第二行表示:女卵泡期<br />
|
||||
第三行表示:排卵期<br />
|
||||
第四行表示:黄体期<br />
|
||||
第五行表示:绝经期</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
@ -78,5 +86,4 @@ watch(
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
</style>
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
@ -30,8 +30,8 @@ const columns = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '80vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
height: '78vh', // 高度
|
||||
// highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -47,7 +47,7 @@ const emit = defineEmits(['refreshTabData'])
|
||||
|
||||
//序号最大值
|
||||
const maxXh = computed(() => {
|
||||
return modelParam.value.commonDescriptionsData.length > 0 ? Math.max(...modelParam.value.commonDescriptionsData.map((item: any) => item.xh || 0)) : 0;
|
||||
return modelParam.value.commonDescriptionsData.length > 0 ? modelParam.value.commonDescriptionsData.length + 1 : 0;
|
||||
});
|
||||
|
||||
const rowClick = (row: any) => {
|
||||
@ -59,7 +59,7 @@ const onAddClick = () => {
|
||||
const newData: XmTextresultNew = {
|
||||
xmid: modelParam.value.basicData.xmid,
|
||||
xmdh: modelParam.value.basicData.xmdh,
|
||||
xh: maxXh.value + 1
|
||||
xh: maxXh.value
|
||||
}
|
||||
modelParam.value.commonDescriptionsData.push(newData)
|
||||
}
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<!-- 知识库 -->
|
||||
<div>
|
||||
<CustomTable ref="tableRef" :data="dataList" :columns="columns" :enable-column-drag="true" @column-drag-end="handleColumnDragEnd"
|
||||
:config="tableConfig"/>
|
||||
<CustomTable ref="tableRef" :data="dataList" :columns="columns" :enable-column-drag="true"
|
||||
@column-drag-end="handleColumnDragEnd" :config="tableConfig" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -32,7 +32,7 @@ const columns = ref([
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '87vh', // 高度
|
||||
height: '81.5vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<CustomTable ref="tableRef" :data="modelParam.userInstrData" :columns="columns" :enable-column-drag="true"
|
||||
@column-drag-end="handleColumnDragEnd" :config="tableConfig" @row-click="onRowClick">
|
||||
<template #yq="{ row }">
|
||||
<YQSelectTable v-model:data="row.yq" placeholder="请输入仪器名称" />
|
||||
<YQSelectTable v-model:data="row.yq" placeholder="请选择仪器名称" class="full-width-input" />
|
||||
</template>
|
||||
<template #xs="{ row }">
|
||||
<el-input v-model="row.xs" class="full-width-input" />
|
||||
@ -42,16 +42,16 @@ const modelParam = defineModel<any>()
|
||||
const tableRef = ref<any>();
|
||||
const columns = ref([
|
||||
{ prop: 'vsid', label: '对照编码', visible: false, align: 'center' },
|
||||
{ prop: 'yq', label: '仪器代号', visible: true, align: 'center', slot: 'yq', width: 150 },
|
||||
{ prop: 'xs', label: '调整系数', visible: true, align: 'center', slot: 'xs', width: 100 },
|
||||
{ prop: 'yq', label: '仪器代号', visible: true, align: 'center', slot: 'yq', width: 200, showOverflowTooltip: false },
|
||||
{ prop: 'xs', label: '调整系数', visible: true, align: 'center', slot: 'xs', showOverflowTooltip: false },
|
||||
{ prop: 'zkxm', label: '质控', visible: true, align: 'center', slot: 'zkxm', width: 40 },
|
||||
{ prop: 'ckxx', label: '参考下限', visible: true, align: 'center', slot: 'ckxx', width: 100 },
|
||||
{ prop: 'cksx', label: '参考上限', visible: true, align: 'center', slot: 'cksx', width: 100 },
|
||||
{ prop: 'dyckz', label: '打印参考值', visible: true, align: 'center', slot: 'dyckz', width: 100 },
|
||||
{ prop: 'ckxx', label: '参考下限', visible: true, align: 'center', slot: 'ckxx', showOverflowTooltip: false },
|
||||
{ prop: 'cksx', label: '参考上限', visible: true, align: 'center', slot: 'cksx', showOverflowTooltip: false },
|
||||
{ prop: 'dyckz', label: '打印参考值', visible: true, align: 'center', slot: 'dyckz', showOverflowTooltip: false },
|
||||
]);
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '85vh', // 高度
|
||||
height: '78vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// cellStyle: cellStyleHd
|
||||
})
|
||||
|
||||
@ -237,10 +237,7 @@ const handleQuery = () => {
|
||||
|
||||
// 拼接label并设置到显示值
|
||||
selectShowValue.value = labels.join(',')
|
||||
console.log('selectShowValue.value==>', selectShowValue.value);
|
||||
|
||||
emit('query', filteredParams)
|
||||
|
||||
selectVisible.value = false;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user