feat:分析管理

This commit is contained in:
houjunxiang
2025-11-13 17:00:50 +08:00
parent 3a5acea5a3
commit 4fb5eecdb2
7 changed files with 202 additions and 195 deletions

View File

@@ -4,7 +4,7 @@
<view class="s-verify-wrapper" @tap.stop>
<view class="s-verify-header">
<text class="s-verify-title">安全验证</text>
<view class="s-verify-close" @tap="handleClose">×</view>
<!-- <view class="s-verify-close" @tap="handleClose">×</view> -->
</view>
<view class="s-verify-body">

View File

@@ -1,9 +1,10 @@
// 在此不用配置接口前缀
const isDev = process.env.NODE_ENV === 'development'
const BaseUrl = isDev ? 'http://192.168.26.190:48080/admin-api' : 'http://172.33.199.28:8088/api'
const BaseUrl = isDev ? 'http://192.168.26.116:888/admin-api' : 'http://192.168.26.116:888/admin-api'
// const BaseUrl = isDev ? 'http://192.168.26.190:48080/admin-api' : 'http://192.168.26.116:888/admin-api'
// const BaseUrl = isDev ? 'http://localhost:9999' : ''
const upgradeBaseUrl = 'http://172.33.199.28:8088'
const upgradeBaseUrl = 'http://192.168.26.116:888'
const tenantId = '1'
export const clientId = 'lsky_lims'
@@ -31,5 +32,5 @@ export function getUpgradeBaseUrl() {
}
export function getWebSocketUrl() {
// return uni.getStorageSync('base_url').replace('/api', '') + '/ws'
return 'ws://192.168.26.190:8330'
return 'ws://192.168.26.116:888/ws'
}

File diff suppressed because it is too large Load Diff

View File

@@ -46,12 +46,11 @@ export function calcAnalysisValue(group) {
if (formulaVal.startsWith('Get')) {
//计算公式为Get开头的都是执行方法
v = eval(formulaVal)
} else if (formulaVal.startsWith('From')) {
} else {
v = math.evaluate(formulaVal).toString()
v = isFinite(v) ? v.toString() : ''
}
ele.value = handleRoundFiveNumber(v, ele.dataType)
ele.value = handleRoundFiveNumber(v, ele.decimalPosition)
}
}
} catch (error) {
@@ -86,7 +85,6 @@ export function calcRowAnalysisValue(row, columnObj, dynamicsColumns) {
if (formulaVal.startsWith('Get')) {
formulaVal = formulaVal.replace(')', ",'" + row.conBaseSampleId + "')")
v = eval(formulaVal)
} else if (formulaVal.startsWith('From')) {
} else {
v = math.evaluate(formulaVal).toString()
v = isFinite(v) ? v : 0
@@ -330,10 +328,14 @@ function accAdd(arg1, arg2) {
}
// 通过配置项分组
export function groupByField(list, groupKey = 'groupDictionaryBusinessKey') {
export function groupByField(list, cupNumFieldIndex, groupKey = 'groupDictionaryBusinessKey') {
const groupMap = new Map()
list.unshift({ groupDictionaryBusinessKey: 'all', groupDictionaryBusinessName: '全部' })
for (const item of list) {
// 赋值杯号fieldindex
if (item.title === '杯号') {
cupNumFieldIndex.value = item.fieldIndex
}
const key = item[groupKey]
if (!key) continue // 跳过没有 group 的项(可选)

View File

@@ -107,6 +107,8 @@ function handleDeviceData(res) {
}
function handleDeviceStatus(res) {
console.log(res)
if (res.deviceType === 'balance') {
auncelList.value.forEach(item => {
if (item.id === res.deviceId) {

File diff suppressed because it is too large Load Diff

View File

@@ -101,7 +101,7 @@ const formFields = ref([])
const staticFormSchema = [
{ label: '指派单号', fieldKey: 'businessAssayTaskId', hidden: true },
{ type: 'title', value: '分析原始记录单' },
{ label: '检测方法', type: 'Input', fieldKey: 'configAssayMethodName', disabled: true },
{ label: '检测方法', type: 'Input', fieldKey: 'configAssayMethodName' },
{ label: '分析人', type: 'Input', fieldKey: 'assayOperator', disabled: true },
{ label: '检测时间', type: 'date', fieldKey: 'assayTime' }
]
@@ -294,10 +294,11 @@ function getDynamicFormSchemaFormData(obj) {
}
// 检查动态字段值在空白样或者标样的(影响计算配置字段)中是否变化
function checkPropertyEquality() {
if (configQCSampleMethodInfos.value.length === 0) return false
for (const config of configQCSampleMethodInfos.value) {
const target = config.target
if (!target) continue
let allColumns = tabs.value.flatMap(tab => tab.columns)
for (const column of allColumns) {
const formula = column.formula
if (!formula) continue
const target = formula.split(':')[1]
const originalValue = dynamicFormData.value[target]
const currentValue = realFormData.value[target]
console.log('checkPropertyEquality', originalValue, currentValue)