feat:待审数据

This commit is contained in:
houjunxiang
2025-11-11 20:51:08 +08:00
parent fb41fa9a03
commit 970a8b8eae
11 changed files with 416 additions and 651 deletions

View File

@@ -5,11 +5,9 @@ const taskPrefix = '/qms/bus/qmsBusAssayTask'
// 获取任务
const getAssayTaskList = params => {
return request({
url: '/qms/business-assay-task/page',
url: '/qms/business-assay-task/list',
method: 'GET',
params: {
pageSize: 999,
pageNo: 1,
...params
}
})
@@ -107,16 +105,11 @@ const execSendSample = data => {
}
// 获取任务明细字段
const queryFieldsByTaskDetail = params => {
const getSampleAnalysisDataByTaskDataId = params => {
return request({
url: '/qms/config/qmsConAssayTaskDetailField/queryFieldsByTaskDetail',
url: '/qms/bus/sample/analysis/getSampleAnalysisDataByTaskDataId',
method: 'GET',
params: {
...params
},
custom: {
isTransformResponse: true
}
params
})
}
@@ -125,9 +118,7 @@ const queryHeadFieldsByTaskNo = params => {
return request({
url: '/qms/config/qmsConAssayTaskHead/queryHeadFieldsByTaskNo',
method: 'GET',
params: {
...params
}
params
})
}
@@ -136,9 +127,7 @@ const queryHeadValueByTaskNo = params => {
return request({
url: '/qms/bus/qmsBusAssayTaskHead/queryHeadValueByTaskNo',
method: 'GET',
params: {
...params
},
params,
custom: {
showError: false,
isTransformResponse: true
@@ -280,7 +269,7 @@ export default {
getDynamicBaseFormSchema,
getAssayTaskDetailListByTaskNo,
getAssayTaskDetailById,
queryFieldsByTaskDetail,
getSampleAnalysisDataByTaskDataId,
queryHeadFieldsByTaskNo,
queryHeadValueByTaskNo,
saveHeadValue,

View File

@@ -46,6 +46,7 @@ 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() : ''
@@ -85,6 +86,7 @@ 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
@@ -326,3 +328,27 @@ function accAdd(arg1, arg2) {
}
return (arg1 + arg2) / m
}
// 通过配置项分组
export function groupByField(list, groupKey = 'groupDictionaryBusinessKey') {
const groupMap = new Map()
list.unshift({ groupDictionaryBusinessKey: 'all', groupDictionaryBusinessName: '全部' })
for (const item of list) {
const key = item[groupKey]
if (!key) continue // 跳过没有 group 的项(可选)
if (!groupMap.has(key)) {
groupMap.set(key, {
value: key,
label: item.groupDictionaryBusinessName, // 假设 title 在每个 item 中,且同组相同
fields: []
})
}
// 把当前项(或仅需要的部分)推入 fields
groupMap.get(key).fields.push(item)
}
// 转为数组
return Array.from(groupMap.values())
}

View File

@@ -149,6 +149,7 @@ http.interceptors.response.use(
}
const { code, data, msg } = response.data
// 统一处理【公司/部门二次选择】:参考 PC 端逻辑,自动补全或提示选择后重试
if (code === 400 && Array.isArray(data)) {
debugger
@@ -209,17 +210,19 @@ http.interceptors.response.use(
}
}
if ((code === 0 || code === 200) && response.config.custom.showSuccess) {
setTimeout(() => {
uni.showToast({
title: msg || response.config.custom.successMsg,
icon: 'none'
})
}, 100)
if (code === 0 || code === 200) {
if (response.config.custom.showSuccess) {
setTimeout(() => {
uni.showToast({
title: msg || response.config.custom.successMsg,
icon: 'none'
})
}, 100)
}
$store('user').updateLastRequestTime()
return Promise.resolve(data)
}
$store('user').updateLastRequestTime()
return Promise.resolve(data)
return Promise.reject(response.data)
},
error => {
console.log('error', error)

View File

@@ -1,7 +1,8 @@
export default {
isNullOrEmpty: function (value) {
//是否为空
return value === null || value === '' || value === undefined ? true : false
isEmpty: function (value) {
if (value === undefined || value === null) return true
if (typeof value === 'string' && value.trim() === '') return true
return false
},
trim: function (value) {
//去空格
@@ -311,6 +312,20 @@ export default {
}
})
},
showPromiseModal(title, content) {
return new Promise(resolve => {
uni.showModal({
title,
content,
cancelColor: '#0055A2',
confirmColor: '#0055A2',
success: res => {
resolve(res.confirm) // true 表示点击了确定false 表示取消
},
fail: () => resolve(false)
})
})
},
isRsk() {
let sysInfo = uni.getSystemInfoSync()
let brand = sysInfo.brand.toLowerCase()