feat:样品标签打印

This commit is contained in:
houjunxiang
2025-11-24 16:48:57 +08:00
parent c3630e74ec
commit c504c9b2a7
18 changed files with 97 additions and 712 deletions

View File

@@ -4,7 +4,7 @@ import { onLaunch, onShow, onError } from '@dcloudio/uni-app'
import { NxInit } from './nx' import { NxInit } from './nx'
import $store from '@/nx/store' import $store from '@/nx/store'
// #ifdef APP-PLUS // #ifdef APP-PLUS
import * as urovo from '@/uni_modules/zzjc-urovo' import * as urovo from './uni_modules/zzjc-urovo'
// #endif // #endif
onLaunch(async () => { onLaunch(async () => {
// 加载nx底层依赖 // 加载nx底层依赖

View File

@@ -1,7 +1,7 @@
// 在此不用配置接口前缀 // 在此不用配置接口前缀
const isDev = process.env.NODE_ENV === 'development' const isDev = process.env.NODE_ENV === 'development'
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.116:888/admin-api' : 'http://192.168.26.116:888/admin-api'
// const BaseUrl = isDev ? 'http://192.168.26.163:48080/admin-api' : 'http://192.168.26.116:888/admin-api' const BaseUrl = isDev ? 'http://192.168.26.163:48080/admin-api' : 'http://192.168.26.116:888/admin-api'
// //
// const BaseUrl = isDev ? 'http://localhost:9999' : '' // const BaseUrl = isDev ? 'http://localhost:9999' : ''
const upgradeBaseUrl = 'http://192.168.26.116:888' const upgradeBaseUrl = 'http://192.168.26.116:888'

View File

@@ -1,24 +0,0 @@
import request from '@/nx/request'
const taskPrefix = '/qms/bus/qmsBusAssayTask'
export const getConAssayTaskWithReportTemplateContent = id => {
return request({
url: '/qms/config/assay-task/getConTaskWithReportTemplateDataContent',
method: 'get',
params: {
id
}
})
}
export const queryTaskDetailListByAssayTaskId = params => {
return request({
url: taskPrefix + '/getAssayTaskDataWithDetailData',
method: 'get',
params: params
})
}
export default {
getConAssayTaskWithReportTemplateContent,
queryTaskDetailListByAssayTaskId
}

23
nx/api/report.js Normal file
View File

@@ -0,0 +1,23 @@
import request from '@/nx/request'
export const getBusinessSubSample = id => {
return request({
url: '/qms/business-sub-sample/get',
method: 'get',
params: {
id
}
})
}
export const getConfigReportTemplateByKey = params => {
return request({
url: '/qms/config-report-template/getByKey',
method: 'GET',
params: params
})
}
export default {
getBusinessSubSample,
getConfigReportTemplateByKey
}

View File

@@ -52,7 +52,7 @@ export default {
// 按样品添加内部调拨数据 // 按样品添加内部调拨数据
addDispatchSample: data => addDispatchSample: data =>
request({ request({
url: '/qms/business-sample-dispatch/addBySampleCode', url: '/qms/business-sample-dispatch/addBySampleReturnCode',
method: 'POST', method: 'POST',
data data
}), }),

View File

@@ -1,4 +1,4 @@
import { getConAssayTaskWithReportTemplateContent, queryTaskDetailListByAssayTaskId } from '@/nx/api/auncel' import { getConfigReportTemplateByKey, getBusinessSubSample } from '@/nx/api/report'
export default { export default {
//打印机Map对象 //打印机Map对象
printMap: new Map(), printMap: new Map(),
@@ -178,36 +178,33 @@ export default {
//不存在则打开 //不存在则打开
this.open(printServerIp) this.open(printServerIp)
} }
if (printer.socketTask) { if (printer?.socketTask) {
printer.socketTask.send({ printer.socketTask.send({
data: data data: data
}) })
} }
}, },
//获取打印模板并执行打印 //获取打印模板并执行打印
getPrintTemplateAndPrint(currentTask) { getPrintTemplateAndPrint(businessSubId) {
const id = currentTask.taskTypeId getBusinessSubSample(businessSubId)
getConAssayTaskWithReportTemplateContent(id)
.then(res => { .then(res => {
this.print(currentTask, res) this.print(res)
}) })
.catch(err => { .catch(err => {
console.log(err) console.log(err)
}) })
}, },
//调用send方法执行打印 //调用send方法执行打印
print(currentTask, conAssayTask) { print(businessSubData) {
const { printTemplate } = businessSubData
const me = this const me = this
let id = currentTask.id me.getReportData(printTemplate, function (res) {
const reportTemplate = conAssayTask.reportTemplateDataContent
me.getReportData(id, function (res) {
const data = res.data || []
const reportData = { const reportData = {
data: data data: [businessSubData]
} }
let printData = { let printData = {
type: 'print', type: 'preview',
reportTemplate: reportTemplate, reportTemplate: res.content,
reportData: JSON.stringify(reportData) reportData: JSON.stringify(reportData)
} }
//连接打印服务 //连接打印服务
@@ -220,12 +217,11 @@ export default {
}) })
}, },
//获取打印模板 //获取打印模板
getReportData(id, onComplete) { getReportData(templateKey, onComplete) {
const param = { const param = {
taskId: id, key: templateKey
hideResultFlag: 'true'
} }
queryTaskDetailListByAssayTaskId(param).then(res => { getConfigReportTemplateByKey(param).then(res => {
onComplete(res) onComplete(res)
}) })
} }

View File

@@ -204,7 +204,8 @@ http.interceptors.response.use(
if (code !== 0) { if (code !== 0) {
uni.showToast({ uni.showToast({
title: msg || response.config.custom.errorMsg, title: msg || response.config.custom.errorMsg,
icon: 'none' icon: 'none',
duration: 3000
}) })
if (code === 401) { if (code === 401) {
userStore.logout(true) userStore.logout(true)

View File

@@ -160,13 +160,6 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "pages/analysis/sample/sample-receive",
"style": {
"navigationBarTitleText": "样品分析-收样",
"navigationStyle": "custom"
}
},
{ {
"path": "pages/analysis/sample/sample-work-list", "path": "pages/analysis/sample/sample-work-list",
"style": { "style": {
@@ -196,13 +189,6 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "pages/analysis/sample/sample-report",
"style": {
"navigationBarTitleText": "数据上报",
"navigationStyle": "custom"
}
},
{ {
"path": "pages/analysis/sample/sample-report-search", "path": "pages/analysis/sample/sample-report-search",
"style": { "style": {

View File

@@ -226,7 +226,7 @@ function printTask() {
confirmColor: '#0055A2', confirmColor: '#0055A2',
success: res => { success: res => {
if (res.confirm) { if (res.confirm) {
nx.$print.getPrintTemplateAndPrint(currentTask.value) // nx.$print.getPrintTemplateAndPrint(currentTask.value)
} }
} }
}) })

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