项目参数配置

This commit is contained in:
wyuu 2025-12-22 17:30:28 +08:00
parent 182d43fd84
commit ddccaa4f32
5 changed files with 227 additions and 159 deletions

View File

@ -147,3 +147,27 @@ export function delitemtdh(data?: Object) {
params: data
});
}
// 获取仪器参数
export function querydouble(data?: Object) {
return request({
url: '/xminfo/querydouble',
method: 'get',
params: data
});
}
// 保存仪器参数
export function savedouble(data?: Object) {
return request({
url: '/xminfo/savedouble',
method: 'post',
data
});
}
// 获取参数默认模板
export function querymbmc(data?: Object) {
return request({
url: '/xminfo/querymbmc',
method: 'get',
params: data
});
}

View File

@ -171,13 +171,7 @@ service.interceptors.response.use(res => {
})
return Promise.reject('error');
} else if (code === 1) {
//提示并失败
ElNotification({
title: '提示',
message: msg,
type: 'error',
duration: 0,
})
//提示并返回数据
return Promise.resolve(res.data)
} else if (code === 4) {
//返回特定值,需要后续处理,表示当前操作需要处理后再调用,problemId是步骤关键参数,需要再次调用时引入

View File

@ -1,20 +1,26 @@
<template>
<!-- 参数列表 -->
<div>
<template v-if="paramsFlag">
<el-row :gutter="10" class="table-toolbar">
<el-col :span="1.5">
<el-button type="primary" plain icon="Check" @click="handleSave">保存</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="Edit" @click="handleCancelEdit">取消修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="RefreshRight" @click="handleRestoreDefault">还原默认</el-button>
</el-col>
</el-col> -->
</el-row>
<el-form ref="form" :model="formData" :rules="rules" label-width="120px" class="form-inline" inline>
<div style="display: flex;">
<el-form-item label="项目" prop="xmdh">
<SelectTable v-model:data="xmdh" :tableData="xmList" style="width: 12rem;" @getDataValue='getXmInfo' />
</el-form-item>
<div class="title">说明:公式中阴阳对照请用NC,PC表示</div>
</div>
<el-row>
<el-col :span="8">
<el-form-item label="测试波长" prop="csbc">
@ -140,7 +146,7 @@
<el-col :span="8">
<el-form-item label="默认模板" prop="mrmb">
<el-select v-model="formData.mrmb" style="width: 12rem;">
<!-- <el-option v-for="item in sjtableData" :key="item.sjph" :value="item.sjph" :label="item.sjph" /> -->
<el-option v-for="item in mbList" :key="item.no" :value="item.no" :label="item.na" />
</el-select>
</el-form-item>
</el-col>
@ -154,6 +160,10 @@
</el-col>
</el-row>
</el-form>
</template>
<template v-else>
<el-empty :image-size="200" description="暂无参数配置" />
</template>
<!-- 波长对照表 -->
<el-dialog v-model="dialogVisible" title="滤光波长对照表" draggable :close-on-click-modal="false" width="500px">
@ -217,14 +227,16 @@
</template>
<script setup lang="ts">
import { queryFilter, addXmFilter, delXmFilter, addXmLot, delXmLot, queryXmLot, querySjcs } from '@/api/liswork/xtwh/ComOpt'
import { queryFilter, addXmFilter, delXmFilter, addXmLot, delXmLot, queryXmLot, querySjcs, querydouble, savedouble, querymbmc } from '@/api/liswork/xtwh/ComOpt'
import { ElMessage } from 'element-plus';
import { formatDict, dictData } from '@/hooks'
import { get } from 'lodash';
import { queryXmInfo } from '@/api/liswork/work/LisWork';
const yq = defineModel<string>()
const dialogVisible = ref(false)
const xmdh = ref('');
const formData = ref({
csbc: '',
ckbc: '',
@ -242,7 +254,8 @@ const formData = ref({
kbms: '1',
zbsj: '',
mrmb: '',
mrsjph: ''
mrsjph: '',
xmdh: '',
});
const rules = ref({
csbc: [
@ -253,11 +266,18 @@ const rules = ref({
]
});
const paramsFlag = ref(true);
const form = ref();
const handleSave = () => {
form.value.validate((valid: boolean) => {
if (valid) {
console.log('submit!')
savedouble(formData.value).then((res: any) => {
if (res.code == 0) {
ElMessage.success('保存成功!')
getXmInfo()
}
})
}
})
}
@ -310,6 +330,7 @@ interface sjList {
sjcs: string, sjph: string, yq: string, yxq: string, csff: string
}
const sjShow = ref(false)
const mbList = ref<Array<{ na: string, no: string }>>([])
const sjtableData = ref<sjList[]>([])
const sjHandle = () => {
getSjList()
@ -363,9 +384,38 @@ const getSjcjList = () => {
})
}
const getXmInfo = () => {
querydouble({ yq: yq.value, xmdh: xmdh.value }).then((res: any) => {
paramsFlag.value = res.code == 1 ? false : true;
formData.value = res.data || {}
})
}
const xmList = ref<Array<{ label: string, value: string }>>([])
const getXmList = () => {
queryXmInfo({ yq: yq.value }).then((res: any) => {
xmList.value = res.data.map((item: any) => {
return {
label: item.xmmc,
value: item.xmdh,
}
})
})
};
onMounted(() => {
querymbmc().then((res: any) => {
mbList.value = res.data || []
})
});
watch(yq, (newVal) => {
if (newVal) {
getXmInfo()
getDzList()
getSjList()
getXmList()
}
xmdh.value = ''
}, {
immediate: true,
deep: true

View File

@ -18,9 +18,9 @@
<div class="table-row">
<CustomTable ref="tableRef" :data="dataList" :columns="columns" :config="tableConfig" :enableRowDrag="true"
@row-drag-end="handleRowDragEnd" @row-click="handleRowClick">
<template #dyxh="{ row }">
<!-- <template #dyxh="{ row }">
<el-input v-model="row.dyxh" class="full-width-input" />
</template>
</template> -->
</CustomTable>
</div>
</div>
@ -44,7 +44,7 @@ const dataList = ref<DataItem[]>([]);
const columns = ref([
{ prop: 'xmid', label: '项目ID', visible: true, align: 'center' },
{ prop: 'xmmc', label: '项目名称', visible: true, align: 'center' },
{ prop: 'dyxh', label: '排序', visible: true, align: 'center', slot: "dyxh" },
{ prop: 'dyxh', label: '排序', visible: true, align: 'center', },
]);
const tableConfig = ref({
border: true, // 边框

View File

@ -112,7 +112,7 @@ const tabList = [
{ key: 'SysSort', label: '项目排序', component: SysSort },
{ key: 'SysReport', label: '报告单设置', component: SysReport },
]
const activeName = ref('SysChannel')
const activeName = ref('SysParameter')
// 计算当前要渲染的组件
const currentComponent = computed(() => {