+
+
+ 基本参数:
+
+
+
+
+ {{ formatDict(row.xmgl, 'XMGL') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 停用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结果参考值计算:
+
+
+
+
+
+
+
+
+
+ 多行参考值向导...
+
+
+
+ 向导...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 医学审核条件:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 报警条件
+
+
+
+
+ 特定条件
+
+
+
+
+
+ 其他参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 基本资料内容
\ No newline at end of file
+interface DictData {
+ XMGL?: Array
;
+ [key: string]: any[] | undefined; // 添加索引签名以支持动态访问
+}
+
+
+const formRef = ref();
+const formData = ref({
+ xmgl: '',
+ xmdh: '',
+ xmmc: '',
+ dw: '',
+ xmlb: '',
+ mrz: '',
+ yqdl: '',
+ qccv: '',
+ xsbs: '',
+ whocode: '',
+ germflag: '',
+ yymc: '',
+ xmid: '',
+ uflag: false,
+ knowledge: '',
+ xsws: 0,
+ dylx: '',
+ zhbdh: '',
+ bgdh: '',
+ jg: 0,
+ zjf: '',
+ csff: '',
+ fzdyxh: 0,
+ itemclass: '',
+ ckxx: '',
+ cksx: '',
+ dyckz: '',
+ jsgs: '',
+ ygxb: false,
+ ygnl: false,
+ ygbb: false,
+ ygzq: false,
+ ygzd: false,
+ jsxm: false,
+ sjx: '',
+ xjx: '',
+ jgjg: '',
+ cp_jgz: '',
+ hlimt: '',
+ llimit: '',
+ redoxx: '',
+ redosx: '',
+ val1: '',
+ val2: '',
+ val3: '',
+ val4: '',
+ val5: ''
+}
+);
+//字典数据
+const dictData = ref({});
+
+const rules = ref({
+ // name: [
+ // { required: true, message: '请输入姓名', trigger: 'blur' },
+ // { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
+ // ],
+ // sex: [
+ // { required: true, message: '请选择性别', trigger: 'change' }
+ // ]
+});
+
+computed(() => {
+ switch(formData.value.jgbz){
+ case '1':
+ formData.value.cp_jgz = formData.value.jgz;
+ break;
+ case '2':
+ formData.value.cp_jgz = formData.value.jgz + '%';
+ break
+ }
+});
+
+onMounted(async () => {
+ // 初始化数据
+ const dictRefs = await comDict('XMGL');
+ // 从 ref 中获取实际数据
+ dictData.value = {
+ XMGL: toRaw(dictRefs.XMGL.value) || []
+ };
+
+})
+
+// 引入公共组件的字典格式化方法
+const formatDict = (v: string, dictType: string) => {
+ return dictData.value[dictType]?.find((item: any) => item.value == v.trim())?.label;
+}
+
+
+
+
+
\ No newline at end of file
From ff6f407079e8d80a6f165cf7e19db45f5ec9c3dc Mon Sep 17 00:00:00 2001
From: jiangs <373297395@qq.com>
Date: Tue, 28 Oct 2025 16:22:19 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E7=95=8C=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
vite.config.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vite.config.js b/vite.config.js
index 7287b3c..361e5f2 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -40,8 +40,8 @@ export default defineConfig(({
proxy: {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api': {
- //target: 'http://localhost:9801',
- target: 'http://47.97.125.165:8904',
+ target: 'http://localhost:9801',
+ //target: 'http://47.97.125.165:8904',
// target: 'http://192.168.1.114:9801',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
From 4f77b2c60e5d71cd1e629a04396f830bb738ac43 Mon Sep 17 00:00:00 2001
From: jiangs <373297395@qq.com>
Date: Tue, 28 Oct 2025 16:22:44 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E7=BB=B4=E6=8A=A4=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/liswork/labItem/LabItem.ts | 16 +-
src/views/liswork/labItem/index.vue | 101 ++++++++-----
.../liswork/labItem/tab/channelNumber.vue | 49 ++++++
.../liswork/labItem/tab/commmonlyValues.vue | 38 ++++-
.../labItem/tab/commonDescriptions.vue | 32 +++-
src/views/liswork/labItem/tab/knowledge.vue | 32 +++-
src/views/liswork/labItem/tab/parameter.vue | 141 ++++++++++++++++++
.../labItem/tab/referenceValueDetails.vue | 70 +++++++++
src/views/liswork/labItem/tab/sort.vue | 39 ++++-
src/views/liswork/labItem/tab/useInstr.vue | 31 +++-
10 files changed, 502 insertions(+), 47 deletions(-)
create mode 100644 src/views/liswork/labItem/tab/channelNumber.vue
create mode 100644 src/views/liswork/labItem/tab/parameter.vue
create mode 100644 src/views/liswork/labItem/tab/referenceValueDetails.vue
diff --git a/src/api/liswork/labItem/LabItem.ts b/src/api/liswork/labItem/LabItem.ts
index ce7ed11..16c2832 100644
--- a/src/api/liswork/labItem/LabItem.ts
+++ b/src/api/liswork/labItem/LabItem.ts
@@ -1,11 +1,25 @@
// @ts-ignore
import request from '@/utils/request'
-//检验项目,获取数据
+//检验项目界面
+//获取列表数据
export function queryXmInfoNewService(query: any){
return request({
url: '/xminfo/query',
method: 'get',
params: query
})
+}
+
+//获取明细数据
+export function queryXmInfoNewDetailService(xmid: any, yq: any, xmdh: any){
+ return request({
+ url: '/xminfo/queryDetail',
+ method: 'get',
+ params: {
+ xmid,
+ yq,
+ xmdh
+ }
+ })
}
\ No newline at end of file
diff --git a/src/views/liswork/labItem/index.vue b/src/views/liswork/labItem/index.vue
index 83dccb6..bc4a735 100644
--- a/src/views/liswork/labItem/index.vue
+++ b/src/views/liswork/labItem/index.vue
@@ -3,7 +3,7 @@
-
+
@@ -49,32 +49,55 @@
+ :config="tableConfig" @row-click="rowChange">
{{ formatDict(row.xmgl, 'XMGL') }}
-
+
{{ formatDict(row.xmlb, 'XMLB') }}
+
+ {{ row.jsxm === 'Y' ? '是' : '否' }}
+
+
+ {{ row.uflag === '0' ? '否' : '是' }}
+
+
+ {{ formatDict(row.yqdl, 'YQDL')}}
+
-
- 基本资料
- 常用取值
- 使用仪器
- 知识库
- 整体排序
- 常见描述
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90,11 +113,15 @@ 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 { queryXmInfoNewService } from '@/api/liswork/labItem/LabItem';
+import Parameter from './tab/parameter.vue';
+import ChannelNumber from './tab/channelNumber.vue';
+import ReferenceValueDetails from './tab/referenceValueDetails.vue';
+import { queryXmInfoNewService,queryXmInfoNewDetailService } from '@/api/liswork/labItem/LabItem';
//@ts-ignore
import { comDict } from '@/utils/dict'
import SelectTable from '@/components/SelectTable/index.vue'
import { getGroupInstrdList } from '@/api/liswork/work/LisWork';
+import tabView from '@/components/tabViews/index.vue';
interface DictData {
@@ -127,7 +154,6 @@ const queryParams = ref({
//字典数据
const dictData = ref({});
const tableRef = ref()
-const tabCheck = ref('1');
const xmglFields = ref([
{ prop: 'value', label: '代号', width: 80, enablePinyinSearch: true },
{ prop: 'label', label: '名称', enablePinyinSearch: true },
@@ -137,6 +163,18 @@ const itemclassFields = ref([
{ prop: 'label', label: '名称', enablePinyinSearch: true },
])
const instrOptions = ref<{ yq: string; yqmc: string }[]>([])
+const tabList = ref([
+ { label: '基本资料', value: 1 },
+ { label: '常用取值', value: 2 },
+ { label: '使用仪器', value: 3 },
+ { label: '知识库', value: 4 },
+ { label: '整体排序', value: 5 },
+ { label: '常见描述', value: 6 },
+ { label: '参数', value: 7 },
+ { label: '通道号', value: 8 },
+ { label: '参考值明细', value: 9 },
+]);
+const activeTab = ref(1)
//table表格列
const columns = ref([
@@ -146,13 +184,13 @@ const columns = ref([
{ prop: 'dyckz', label: '参考值', visible: true, align: 'center', width: 100 },
{ prop: 'dw', label: '单位', visible: true, align: 'center', width: 100 },
{ prop: 'xmlb', label: '结果类型', visible: true, align: 'center', slot: 'xmlb', width: 100 },
- { prop: 'jsxm', label: '计算项目', visible: true, align: 'center', width: 100 },
+ { prop: 'jsxm', label: '计算项目', visible: true, align: 'center', slot: 'jsxm', width: 100 },
{ prop: 'dyxh', label: '序号', visible: true, align: 'center', width: 100 },
{ prop: 'xs', label: '调整系数', visible: true, align: 'center', width: 100 },
{ prop: 'xsws', label: '小数位数', visible: true, align: 'center', width: 100 },
{ prop: 'xsbs', label: '稀释倍数', visible: true, align: 'center', width: 100 },
- { prop: 'uflag', label: '停用', visible: true, align: 'center', width: 100 },
- { prop: 'yqdl', label: '仪器大类', visible: true, align: 'center', width: 100 },
+ { prop: 'uflag', label: '停用', visible: true, align: 'center', slot: 'uflag', width: 100 },
+ { prop: 'yqdl', label: '仪器大类', visible: true, align: 'center', slot: 'yqdl', width: 100 },
{ prop: 'xmid', label: '项目ID', visible: true, align: 'center', width: 100 },
{ prop: 'knowledge', label: '项目编码', visible: true, align: 'center', width: 100 },
{ prop: 'val1', label: '外部代码1', visible: true, align: 'center', width: 100 },
@@ -180,11 +218,6 @@ const yqdlFields = ref([
])
const yqdlList = ref>()
-// 仪器选择变化
-const yqHandleChange = (val: any) => {
- queryParams.value.yq = val;
-}
-
// 仪器
const getYqConfig = () => {
getGroupInstrdList()
@@ -245,13 +278,6 @@ const handleDelCorr = () => {
const handleSave = () => {
console.log('保存')
}
-
-//标签切换
-const handleTabClick = (tab: string) => {
- tabCheck.value = tab;
- tabVisible.value = tab
-}
-
//退拽属性
const handleColumnDragEnd = (data: any) => {
// 更新列配置
@@ -266,6 +292,13 @@ const changeStauts = () => {
getList();
}
+// 选择行变化
+const rowChange = (row: any) => {
+ queryXmInfoNewDetailService(row.xmid,row.yq,row.xmdh).then((res: any) => {
+ console.log('明细数据:', res);
+ })
+}
+
\ No newline at end of file
diff --git a/src/views/liswork/labItem/tab/referenceValueDetails.vue b/src/views/liswork/labItem/tab/referenceValueDetails.vue
new file mode 100644
index 0000000..a25ef89
--- /dev/null
+++ b/src/views/liswork/labItem/tab/referenceValueDetails.vue
@@ -0,0 +1,70 @@
+
+
+
+
+ 增加
+ 删除
+
+
+
+ 仪器特定参考值:
+
+
+ 增加
+ 删除
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/liswork/labItem/tab/sort.vue b/src/views/liswork/labItem/tab/sort.vue
index acb113d..8fa5153 100644
--- a/src/views/liswork/labItem/tab/sort.vue
+++ b/src/views/liswork/labItem/tab/sort.vue
@@ -1,18 +1,53 @@
- 整体排序内容
+
+
+ 首位
+ ↑上移
+ ↓下移
+ 末位
+
+
+
\ No newline at end of file
diff --git a/src/views/liswork/labItem/tab/useInstr.vue b/src/views/liswork/labItem/tab/useInstr.vue
index 64e8c5d..a83ba40 100644
--- a/src/views/liswork/labItem/tab/useInstr.vue
+++ b/src/views/liswork/labItem/tab/useInstr.vue
@@ -1,18 +1,43 @@
- 使用仪器内容
+
+
+
\ No newline at end of file
From 1f5b5533d591abfa97979fd88085a5572b19bcea Mon Sep 17 00:00:00 2001
From: jiangs <373297395@qq.com>
Date: Tue, 28 Oct 2025 16:23:11 +0800
Subject: [PATCH 4/4] 1
---
vite.config.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vite.config.js b/vite.config.js
index 361e5f2..7287b3c 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -40,8 +40,8 @@ export default defineConfig(({
proxy: {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api': {
- target: 'http://localhost:9801',
- //target: 'http://47.97.125.165:8904',
+ //target: 'http://localhost:9801',
+ target: 'http://47.97.125.165:8904',
// target: 'http://192.168.1.114:9801',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')