默认参数
This commit is contained in:
parent
8ee0a90a5c
commit
04dd1d3f82
@ -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",
|
||||
|
||||
@ -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'
|
||||
});
|
||||
|
||||
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
|
||||
const store = createPinia()
|
||||
store.use(piniaPluginPersistedstate) // 注册持久化插件
|
||||
|
||||
export default store
|
||||
@ -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
15
src/types/pinia.d.ts
vendored
Normal 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
|
||||
}
|
||||
@ -121,10 +121,6 @@ const handleOk = () => {
|
||||
|
||||
}
|
||||
|
||||
|
||||
onMounted(async () => {
|
||||
await getDictData('XMGL', 'ITEMCLASS', 'YQDL', 'YQ');
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
@ -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();
|
||||
})
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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" />
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.llimit" />
|
||||
<el-input placeholder="上限极值" v-model="basicData.hlimit" />
|
||||
<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" />
|
||||
<el-input placeholder="下限极值" v-model="modelParam.basicData.redosx" />
|
||||
<el-input placeholder="上限极值" v-model="basicData.redoxx" />
|
||||
<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
|
||||
|
||||
@ -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',
|
||||
{
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
});
|
||||
await deleteXmInfoVs({ vsid: selectRow.value.vsid || 0 })
|
||||
emit('refreshTabData', modelParam.value.basicData)
|
||||
}
|
||||
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) => {
|
||||
|
||||
@ -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' };
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user