默认参数

This commit is contained in:
wyuu 2025-12-10 18:02:35 +08:00
parent 8ee0a90a5c
commit 04dd1d3f82
13 changed files with 159 additions and 182 deletions

View File

@ -33,6 +33,7 @@
"mitt": "^3.0.1",
"nprogress": "0.2.0",
"pinia": "2.1.7",
"pinia-plugin-persistedstate": "^4.0.0",
"pinyin-pro": "^3.26.0",
"select2": "^4.1.0-rc.0",
"socket.io-client": "^4.8.1",

View File

@ -19,7 +19,7 @@
<div class="select-table-container">
<el-select ref="selectTable" v-model="selectShowValue" :placeholder="props.placeholder" :size="props.size"
:style="{ width: props.width }" @visible-change="visibleChange" @clear="clearHandle" :clearable="props.clearable"
:disabled="disabled">
:disabled="disabled" v-bind="$attrs">
<template #empty>
<div class="select-table-dropdown">
<div style="text-align: left;">
@ -61,7 +61,7 @@ const props = withDefaults(defineProps<Props>(), {
width: "100%",
dictType: '',
clearable: true,
objKey: ''
objKey: 'label'
});

View File

@ -1,3 +1,5 @@
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const store = createPinia()
store.use(piniaPluginPersistedstate) // 注册持久化插件
export default store

View File

@ -1,10 +1,16 @@
//公共状态管理
import { defineStore } from 'pinia'
// 定义配置对象接口
interface DefaultConfig {
defaultinstr?: string //默认仪器
lisgroupid?: string //默认分组id
[key: string]: any // 允许其他属性
}
export const useCommonStore = defineStore('commonStore', {
state: () => ({
lxsrs: [] as string[], // 存储项目模板名称
fingerprint: '',// 存储指纹信息
defaultConfig: {} as DefaultConfig, // 存储默认配置
}),
actions: {
setLxsrList(list: any[]) {
@ -14,5 +20,18 @@ export const useCommonStore = defineStore('commonStore', {
setFingerprint(fingerprint: string) {
this.fingerprint = fingerprint
},
setDefaultConfig(config: DefaultConfig) {
this.defaultConfig = config
},
},
// 持久化配置
persist: {
// 指定要持久化的状态字段
paths: ['fingerprint', 'defaultConfig',],
// 可选配置:自定义存储键名(默认是store的id)
key: 'common_store',
// 可选配置:指定存储位置(默认是localStorage 也可以用sessionStorage)
storage: localStorage,
}
})

15
src/types/pinia.d.ts vendored Normal file
View File

@ -0,0 +1,15 @@
import 'pinia'
declare module 'pinia' {
export interface DefineStoreOptionsBase<S, Store> {
// 允许在定义 store 时使用 persist 属性
persist?: boolean | PersistOptions
}
}
// 定义持久化配置的类型(根据插件实际参数调整)
interface PersistOptions {
paths?: string[]
key?: string
storage?: Storage
}

View File

@ -121,10 +121,6 @@ const handleOk = () => {
}
onMounted(async () => {
await getDictData('XMGL', 'ITEMCLASS', 'YQDL', 'YQ');
})
</script>
<style scoped lang="scss"></style>

View File

@ -416,7 +416,7 @@ const rowChange = async (row: any) => {
{
confirmButtonText: '保存',
cancelButtonText: '不保存',
type: 'warning'
type: 'warning',
}
).then(() => {
// 用户选择保存
@ -434,6 +434,7 @@ const getInfo = async (row: any) => {
tableConfig.value.highlightCurrentRow = true
selectRow.value = row;
const res = await queryXmInfoNewDetailService(row.xmid, row.yq, row.xmdh)
res.data.xmInfoNew.xsws = res.data.xmInfoNew.xsws.toString()
selectDetailRow.value = res.data
changeActiveTab()
initialModelParam.value = _.cloneDeep(modelParam.value);
@ -460,7 +461,7 @@ const changeActiveTab = () => {
}
onMounted(async () => {
getDictData('XMGL', 'ITEMCLASS', 'YQDL');
getDictData('XMGL', 'ITEMCLASS', 'YQDL', 'UT', 'MD', 'GBDM', 'YQ');
getList()
getYqConfig();
})

View File

@ -37,7 +37,7 @@ const emit = defineEmits(['refreshTabData'])
const tableRef = ref<any>();
const columns = ref([
{ prop: 'qz', label: '取值', visible: true, align: 'center', slot: 'qz', showOverflowTooltip: false },
{ prop: 'srm', label: '快速输入码', visible: true, align: 'center', slot: 'srm' },
{ prop: 'srm', label: '快速输入码', visible: true, align: 'center', slot: 'srm', showOverflowTooltip: false },
{ prop: 'jgbz', label: '结果标志', visible: true, align: 'center', slot: 'jgbz', showOverflowTooltip: false }
]);
const tableConfig = ref({

View File

@ -1,169 +1,170 @@
<template>
<!-- 基本资料 -->
<div class="basic_info">
<el-form ref="formRef" :model="modelParam.basicData" :rules="rules" size="small" class="form-inline" inline
<el-form ref="formRef" :model="basicData" :rules="rules" size="small" class="form-inline" inline
label-width="6.25rem" label-position="right" :inline-message="false">
<span class="text-span">基本参数:</span>
<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="12.5rem" placeholder="" size="small" />
<SelectTable v-model:data="basicData.xmgl" :fields="xmglFields" :tableData="dictData.XMGL" label="label"
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
</el-form-item>
<el-form-item label="项目ID" prop="xmid">
<el-input disabled v-model="basicData.xmid" style="width:8.2rem;" />
</el-form-item>
<el-form-item prop="uflag">
<el-checkbox v-model="basicData.uflag" true-value="1" false-value="0">停用</el-checkbox>
</el-form-item>
<el-form-item label="英文缩写" prop="xmdh">
<el-input v-model="modelParam.basicData.xmdh" @input="xmdhInput" />
</el-form-item>
<el-form-item label="项目名称" prop="xmmc">
<el-input v-model="modelParam.basicData.xmmc" @change="xmmcChange" />
<el-input v-model="basicData.xmdh" @input="xmdhInput" />
</el-form-item>
<el-form-item label="单位" prop="dw">
<SelectTable v-model:data="modelParam.basicData.dw" :fields="xmglFields" :tableData="dictData.UT" label="label"
<SelectTable v-model:data="basicData.dw" :fields="xmglFields" :tableData="dictData.UT" label="label"
value="label" objKey="label" width="12.5rem" placeholder="" size="small" />
</el-form-item>
<el-form-item label="项目名称" prop="xmmc">
<el-input v-model="basicData.xmmc" @change="xmmcChange" />
</el-form-item>
<el-form-item label="结果类别" prop="xmlb">
<SelectTable v-model:data="modelParam.basicData.xmlb" :fields="xmglFields" :tableData="xmlbData" label="label"
<SelectTable v-model:data="basicData.xmlb" :fields="xmglFields" :tableData="xmlbData" label="label"
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="12.5rem" placeholder="" size="small" />
<SelectTable v-model:data="basicData.mrz" :fields="xmglFields" :tableData="mrzData" label="label" 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="12.5rem" placeholder="" size="small" />
<SelectTable v-model:data="basicData.yqdl" :fields="xmglFields" :tableData="dictData.YQDL" label="label"
value="value" objKey="value" width="12.5rem" placeholder="" size="small" />
</el-form-item>
<el-form-item label="允许CV(%)" prop="qccv">
<el-input type="number" v-model="modelParam.basicData.qccv" />
<el-input type="number" v-model="basicData.qccv" />
</el-form-item>
<el-form-item label="稀释倍数" prop="xsbs">
<el-input v-model="modelParam.basicData.xsbs" />
<el-input v-model="basicData.xsbs" />
</el-form-item>
<el-form-item label="whonet编码" prop="whocode">
<el-input v-model="modelParam.basicData.whocode" />
<el-input v-model="basicData.whocode" />
</el-form-item>
<el-form-item label="Gram" prop="germflag">
<el-input v-model="modelParam.basicData.germflag" />
<el-input v-model="basicData.germflag" />
</el-form-item>
<el-form-item label="英文名称" prop="yymc">
<el-input v-model="modelParam.basicData.yymc" />
<el-input v-model="basicData.yymc" />
</el-form-item>
<el-form-item label="项目ID" prop="xmid">
<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-input v-model="basicData.knowledge" />
</el-form-item>
<el-form-item label="小数保留位数" prop="xsws">
<SelectTable v-model:data="modelParam.basicData.xsws" :fields="xmglFields" :tableData="xswsData" label="label"
<SelectTable v-model:data="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"
<SelectTable v-model:data="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-input v-model="basicData.zhbdh" />
</el-form-item>
<el-form-item label="报告单代号" prop="bgdh">
<el-input v-model="modelParam.basicData.bgdh" />
<el-input v-model="basicData.bgdh" />
</el-form-item>
<el-form-item label="价格" prop="jg">
<el-input type="number" v-model="modelParam.basicData.jg" />
<el-input type="number" v-model="basicData.jg" />
</el-form-item>
<el-form-item label="助记符" prop="zjf">
<el-input v-model="modelParam.basicData.zjf" />
<el-input v-model="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" />
<SelectTable v-model:data="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-input type="number" v-model="basicData.fzdyxh" />
</el-form-item>
<el-form-item label="细菌项目类别" prop="itemclass">
<SelectTable v-model:data="modelParam.basicData.itemclass" :fields="xmglFields" :tableData="dictData.ITEMCLASS"
<SelectTable v-model:data="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>
<span class="text-span">结果参考值计算:</span>
<el-divider style="margin: .3125rem 0;" />
<el-form-item label="参考下限" prop="ckxx">
<el-input v-model="modelParam.basicData.ckxx" @input="updatedyckz" />
<el-input v-model="basicData.ckxx" @input="updatedyckz" />
</el-form-item>
<el-form-item label="参考上限" prop="cksx">
<el-input v-model="modelParam.basicData.cksx" @input="updatedyckz" />
<el-input v-model="basicData.cksx" @input="updatedyckz" />
</el-form-item>
<el-form-item label="参考值" prop="dyckz">
<el-input v-model="modelParam.basicData.dyckz" />
<el-input v-model="basicData.dyckz" />
<el-button type="primary" class="ml5" @click="multiRefClick">多行参考值向导...</el-button>
</el-form-item>
<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-input v-model="basicData.jsgs" />
<el-button v-show="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>
<el-checkbox label="与年龄有关" v-model="ygnlCheck"></el-checkbox>
<el-checkbox label="与标本有关" v-model="ygbbCheck"></el-checkbox>
<el-checkbox label="与生理周期有关" v-model="ygzqCheck"></el-checkbox>
<el-checkbox label="与诊断有关" v-model="ygzdCheck"></el-checkbox>
<el-checkbox label="计算项目" v-model="jsxmCheck"></el-checkbox>
<el-checkbox label="参考值与性别有关" v-model="basicData.ygxb" true-value="Y" false-value="N"></el-checkbox>
<el-checkbox label="与年龄有关" v-model="basicData.ygnl" true-value="Y" false-value="N"></el-checkbox>
<el-checkbox label="与标本有关" v-model="basicData.ygbb" true-value="Y" false-value="N"></el-checkbox>
<el-checkbox label="与生理周期有关" v-model="basicData.ygzq" true-value="Y" false-value="N"></el-checkbox>
<el-checkbox label="与诊断有关" v-model="basicData.ygzd" true-value="Y" false-value="N"></el-checkbox>
<el-checkbox label="计算项目" v-model="basicData.jsxm" true-value="Y" false-value="N"></el-checkbox>
</el-form-item>
<span class="text-span">医学审核条件:</span>
<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-input v-model="basicData.sjx" style="width:10rem" />
</el-form-item>
<el-form-item label="不可能小于" prop="xjx" label-width="7rem">
<el-input v-model="modelParam.basicData.xjx" style="width:10rem" />
<el-input v-model="basicData.xjx" style="width:10rem" />
</el-form-item>
<el-form-item label="病人两次检验结果在" prop="jgjg" label-width="8.75rem">
<el-input v-model="modelParam.basicData.jgjg" style="width:10rem" />
<el-input v-model="basicData.jgjg" style="width:10rem" />
</el-form-item>
<!--计算属性-->
<el-form-item label="天内不可能相差" prop="cp_jgz" label-width="7rem">
<el-input v-model="modelParam.basicData.cp_jgz" style="width:10rem" />
<el-form-item label="天内不可能相差" prop="jgz" label-width="7rem">
<el-input v-model="basicData.jgz" style="width:10rem">
<template #append v-if="basicData.jgbz == '2'">%</template>
</el-input>
</el-form-item>
<!--报警条件-->
<span class="text-span">报警条件</span>
<el-divider style="margin: .3125rem 0;" />
<el-form-item label="危急值">
<el-input placeholder="上限极值" v-model="modelParam.basicData.hlimt" /> &nbsp;
<el-input placeholder="下限极值" v-model="modelParam.basicData.llimit" />
<el-input placeholder="上限极值" v-model="basicData.hlimit" /> &nbsp;
<el-input placeholder="下限极值" v-model="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" />&nbsp;
<el-input placeholder="下限极值" v-model="modelParam.basicData.redosx" />
<el-input placeholder="上限极值" v-model="basicData.redoxx" />&nbsp;
<el-input placeholder="下限极值" v-model="basicData.redosx" />
</el-form-item>
<span class="text-span">其他参数</span>
<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="12.5rem" placeholder="国标编码" size="small" />
<SelectTable v-model:data="basicData.val1" :fields="xmglFields" :tableData="dictData.GBDM" 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 v-model="basicData.val2" />
</el-form-item>
<el-form-item label="外部代码3">
<el-input v-model="modelParam.basicData.val3" />
<el-input v-model="basicData.val3" />
</el-form-item>
<el-form-item label="外部代码4">
<el-input v-model="modelParam.basicData.val4" />
<el-input v-model="basicData.val4" />
</el-form-item>
<el-form-item label="外部代码5">
<el-input v-model="modelParam.basicData.val5" />
<el-input v-model="basicData.val5" />
</el-form-item>
</el-form>
<MultiRef :refData="modelParam.basicData.dyckz || ''" v-model:dialog-table-visible="mulitDialogTableVisible"
<MultiRef :refData="basicData.dyckz || ''" v-model:dialog-table-visible="mulitDialogTableVisible"
@closeWithReturn="closeWithReturnMultiRef" />
<CalcGuilde v-model="calcDialogTableVisible" :form-data="modelParam.basicData" :text="modelParam.basicData.jsgs"
<CalcGuilde v-model="calcDialogTableVisible" :form-data="basicData" :text="basicData.jsgs"
@confirm="handleDialogConfirm" />
<Condition v-model="conditionTabVisible" :form-data="modelParam.basicData" />
<Condition v-model="conditionTabVisible" :form-data="basicData" />
</div>
</template>
@ -178,10 +179,20 @@ import Condition from './child/Condition.vue';
import { getFirstLetter } from '@/utils/pinyin.js';
import { ElMessage } from 'element-plus';
const modelParam = defineModel<any>()
const modelParam = defineModel<any>();
// 解构basicData 响应数据
const basicData = computed({
get() {
return modelParam.value.basicData;
},
set(newVal) {
modelParam.value.basicData = newVal;
}
});
const formRef = ref();
const mulitDialogTableVisible = ref(false)
const calcDialogTableVisible = ref(false)
const conditionTabVisible = ref(false)
@ -218,75 +229,11 @@ const rules = ref({
xmdh: [{ required: true, message: '请输入英文缩写', trigger: 'blur' }],
xmmc: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
yqdl: [{ required: true, message: '请选择仪器大类', trigger: 'change' }],
})
computed(() => {
switch (modelParam.value.basicData.jgbz) {
case '1':
modelParam.value.basicData.cp_jgz = modelParam.value.basicData.jgz;
break;
case '2':
modelParam.value.basicData.cp_jgz = modelParam.value.basicData.jgz + '%';
break;
}
});
const jsxmCheck = computed({
get() {
return modelParam.value.basicData.jsxm === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.jsxm = checked ? 'Y' : 'N';
}
})
const ygzqCheck = computed({
get() {
return modelParam.value.basicData.ygzq === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.ygzq = checked ? 'Y' : 'N';
}
})
const ygzdCheck = computed({
get() {
return modelParam.value.basicData.ygzd === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.ygzd = checked ? 'Y' : 'N';
}
})
const ygbbCheck = computed({
get() {
return modelParam.value.basicData.ygbb === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.ygbb = checked ? 'Y' : 'N';
}
})
const ygnlCheck = computed({
get() {
return modelParam.value.basicData.ygnl === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.ygnl = checked ? 'Y' : 'N';
}
})
const ygxbCheck = computed({
get() {
return modelParam.value.basicData.ygxb === 'Y'
},
set(checked: boolean) {
modelParam.value.basicData.ygxb = checked ? 'Y' : 'N';
}
dylx: [{ required: true, message: '请选择仪打印方式', trigger: 'change' }],
})
const updatedyckz = () => {
modelParam.value.basicData.dyckz = !modelParam.value.basicData.ckxx && !modelParam.value.basicData.cksx ? '' : `${modelParam.value.basicData.ckxx}--${modelParam.value.basicData.cksx}`;
basicData.value.dyckz = !basicData.value.ckxx && !basicData.value.cksx ? '' : `${basicData.value.ckxx}--${basicData.value.cksx}`;
}
@ -296,47 +243,39 @@ const multiRefClick = () => {
}
const closeWithReturnMultiRef = (val: string) => {
modelParam.value.basicData.dyckz = val;
basicData.value.dyckz = val;
mulitDialogTableVisible.value = false;
}
const handleDialogConfirm = (val: string) => {
modelParam.value.basicData.jsgs = val;
basicData.value.jsgs = val;
calcDialogTableVisible.value = false
}
//计算向导
const calcGuildeClick = () => {
if (modelParam.value.basicData.jsxm) {
if (basicData.value.jsxm) {
calcDialogTableVisible.value = true
}
}
//危急值特定条件
const conditionClick = () => {
if (modelParam.value.basicData.xmid) {
if (basicData.value.xmid) {
conditionTabVisible.value = true
}
}
const xmdhInput = (val: string) => {
modelParam.value.basicData.zhbdh = val;
modelParam.value.basicData.bgdh = val;
basicData.value.zhbdh = val;
basicData.value.bgdh = val;
}
const xmmcChange = (val: string) => {
modelParam.value.basicData.zjf = getFirstLetter(val);
basicData.value.zjf = getFirstLetter(val);
}
onActivated(async () => {
await getDictData('XMGL', 'UT', 'YQDL', 'MD', 'ITEMCLASS', 'GBDM');
})
// 暴露验证方法(关键步骤)
defineExpose({
// 封装表单验证方法,返回 Promise

View File

@ -34,7 +34,7 @@
import CustomTable from '@/components/elTable/index.vue'
import { XmInfoVs } from '@/types';
import YQSelectTable from '@/components/SelectTable/YQSelectTable/index.vue'
import { ElMessageBox } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import { deleteXmInfoVs } from '@/api/liswork/labItem/labItemApi';
@ -80,17 +80,17 @@ const onClickAdd = () => {
modelParam.value.userInstrData.push(newData)
}
const onClickDel = async () => {
if (selectRow.value) {
await ElMessageBox.confirm('是否要删除选中的数据?', 'Warning',
const onClickDel = () => {
if (!selectRow.value.vsid) return ElMessage.warning('请选择要删除的行!')
ElMessageBox.confirm('是否要删除选中的数据?', '警告',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
});
}).then(async () => {
await deleteXmInfoVs({ vsid: selectRow.value.vsid || 0 })
emit('refreshTabData', modelParam.value.basicData)
}
})
}
const onRowClick = (row: any) => {

View File

@ -273,10 +273,10 @@ const CellStyleHd = ({ row, column, rowIndex, columnIndex }: {
rowIndex: number;
columnIndex: number;
}) => {
if (column.label == "细菌/结果" && (row.alarm_flag ?? "").trim().length > 0) {
if (column.label == "细菌/结果" && row.alarm_flag) {
return { background: '#f00 !important', color: '#FFF' };
}
if (column.label == "危急值" && (row.alarm_flag ?? "").trim().length > 0) {
if (column.label == "危急值" && row.alarm_flag) {
return { background: '#f00 !important', color: '#FFF' };
}

View File

@ -147,17 +147,18 @@ import PatientQueryForm from '@/components/selectSearch/index.vue'
import BatchCode from './components/batchCode.vue';
// @ts-ignore
import { listUser } from '@/api/system/user.js'
const mbStore = useCommonStore();
const aotuSize = classCom.useAutoSize();
import { initWebSocket, sendWebSocketMessage, closeWebSocket, getWebSocketState } from '@/utils/webSocket';
import dayjs from 'dayjs';
const previewShow = ref(false);
const lbFlag = ref(false);
const queryParams = ref({
jyrq: '2025-08-20',
yq: '46',
jyrq: dayjs().format('YYYY-MM-DD'), //'2025-08-20'
ybh: '1',
instrGroup: '02',
instrGroup: mbStore.defaultConfig.lisgroupid,
yq: mbStore.defaultConfig.defaultinstr,
problemId: 0,
days: 0,
yhdh: ''
@ -302,13 +303,14 @@ const handleinstrGroupChange = (val: any) => {
// labPat.value = {}
getYqConfig()
}
const mbStore = useCommonStore();
const yqHandleChange = (val: any) => {
labResuts.value = []
labPat.value = {}
mbStore.setLxsrList([]);
getSysList()
fetchlabPatList()
sendMessage()
}
const instrGroupFields = ref([
{ prop: 'zddh', label: '代号', width: 80, enablePinyinSearch: true },
@ -320,8 +322,6 @@ const loadinstrGroupOptions = () => {
getComDicts({ zdlb: 'GROUP' }).then((res: any) => {
instrGroupOptions.value = res.data
instrGroupOptions.value.push({ zddh: 'ALL', zdmc: '所有仪器' })
queryParams.value.instrGroup = '02'
queryParams.value.yq = '46'
getYqConfig()
});
}
@ -349,7 +349,6 @@ const resultsHandle = (flag: boolean) => {
}
fetchLabResults()
}
const highlightRowIndex = ref(-1)
const labPatListRef = ref()
//样本列表点击切换样本信息,同步载入左边样本信息表单和中间结果表单
@ -604,6 +603,7 @@ const fetchlabPatList = () => {
selectJob(res.data[0])
getTotals()
} else {
handleCreate()
ybs.value = 0
ws.value = 0
wjs.value = 0

View File

@ -108,7 +108,8 @@ import Cookies from "js-cookie";
import { encrypt, decrypt } from "@/utils/jsencrypt";
import useUserStore from '@/store/modules/user';
import FloatingLines from '@/components/Ballpit/index.vue';
import { useCommonStore } from '@/store/modules/commonStore'
const mbStore = useCommonStore();
// 初始化响应式变量
const activeName = ref('first');
const userStore = useUserStore();
@ -218,6 +219,7 @@ const Localconfig = (localid) => {
getLocalconfig({ localid }).then(res => {
if (res) {
const { localconfig, hosplist, oem: oemData } = res;
mbStore.setDefaultConfig(localconfig)
// 修复:赋值oem数据,显示动态标题
if (oemData) oem.value = oemData;
// console.log('oemData', oemData);
@ -231,6 +233,8 @@ const Localconfig = (localid) => {
}
getCookie();
}
}
}).catch(err => {
console.error("获取本地配置失败:", err);