feat:待审数据
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -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,
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -28,9 +28,9 @@ const isAllowAgainPrint = ref(false)
|
||||
const menuItemList = ref([
|
||||
// { url: '/pages/analysis/sample/sample-receive', otherConf: { icon: 'arrow-downward' }, name: '收样' },
|
||||
{ url: '/pages/analysis/sample/sample-work-list', otherConf: { icon: 'edit-pen-fill' }, name: '样品分析' },
|
||||
{ url: '/pages/analysis/sample/sample-report', otherConf: { icon: 'arrow-upward' }, name: '数据上报' },
|
||||
// { url: '/pages/analysis/sample/sample-report', otherConf: { icon: 'arrow-upward' }, name: '数据上报' },
|
||||
{ url: '/pages/analysis/sample/sample-report-search', otherConf: { icon: 'search' }, name: '待审数据' },
|
||||
{ url: '/pages/analysis/sample/sample-print', otherConf: { icon: 'file-text-fill' }, name: '单据补打' },
|
||||
// { url: '/pages/analysis/sample/sample-print', otherConf: { icon: 'file-text-fill' }, name: '单据补打' },
|
||||
{ url: '/pages/analysis/setting/setting', otherConf: { icon: 'setting-fill' }, name: '系统设置' }
|
||||
])
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import { getBaseUrl } from '@/defaultBaseUrl'
|
||||
import nx from '@/nx'
|
||||
|
||||
// 响应式数据
|
||||
const taskId = ref('')
|
||||
const businessAssayTaskId = ref('')
|
||||
const localFilePath = ref('')
|
||||
const reportKey = ref('')
|
||||
const hideResultFlag = ref('')
|
||||
@@ -87,10 +87,10 @@ const loadPdfOnAndroid = async pdfUrl => {
|
||||
const getPdf = async () => {
|
||||
const printBaseUrl = getBaseUrl()
|
||||
const baseUrl = getBaseUrl()
|
||||
let dataUrl = `${baseUrl}/qms/bus/qmsBusAssayTask/getAssayTaskDataWithDetailData?taskId=${taskId.value}`
|
||||
let dataUrl = `${baseUrl}/qms/bus/sample/analysis-audit/crossAuditByTaskId?businessAssayTaskId=${businessAssayTaskId.value}`
|
||||
dataUrl += `&hideResultFlag=${hideResultFlag.value}`
|
||||
const token = nx.$store('user').token
|
||||
let url = `${printBaseUrl}/report/gridpp/report/previewDocs`
|
||||
let url = `${printBaseUrl}/qms/config-report-template/preview`
|
||||
url += `?token=${token}`
|
||||
url += `&type=PDF`
|
||||
url += `&reportKey=${reportKey.value}`
|
||||
@@ -123,8 +123,8 @@ const deleteTmpFile = () => {
|
||||
|
||||
// 生命周期
|
||||
onLoad(param => {
|
||||
if (param.taskId) {
|
||||
taskId.value = param.taskId
|
||||
if (param.businessAssayTaskId) {
|
||||
businessAssayTaskId.value = param.businessAssayTaskId
|
||||
reportKey.value = param.reportKey
|
||||
hideResultFlag.value = param.hideResultFlag
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user