Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
electron-printer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhuzhequan
electron-printer
Commits
79f8c6dd
Commit
79f8c6dd
authored
Feb 09, 2026
by
linjinhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:修改问题
parent
9dfe276d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
83 additions
and
31 deletions
+83
-31
src/views/design/head/index.vue
+79
-29
src/views/design/main/index.vue
+4
-2
No files found.
src/views/design/head/index.vue
View file @
79f8c6dd
...
...
@@ -261,7 +261,7 @@ export default {
}
console
.
log
(
"本地数据removeFromOrderInfo:"
,
getOrderInfoMap
());
//生产完成后在本地删除
return
;
//
return;
await
this
.
$api
.
post
(
"/completeDelivery"
,
params
);
this
.
$message
.
success
(
"操作成功"
);
}
...
...
@@ -347,33 +347,79 @@ export default {
}
});
},
/**
* 批量将canvas绘制配置转成base64图片
* @param {Array} canvasList - canvas绘制配置列表,每项需包含canvasWidth/canvasHeight/list(绘制项)
* @returns {Promise<Array>} 图片base64列表
*/
async
canvasToImage
(
canvasList
)
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
let
imageList
=
[];
try
{
for
(
let
canvasItem
of
canvasList
)
{
const
canvas
=
document
.
createElement
(
"canvas"
);
canvas
.
className
=
"createCanvas"
;
canvas
.
width
=
canvasItem
.
canvasWidth
;
canvas
.
height
=
canvasItem
.
canvasHeight
;
let
list
=
[];
for
(
let
listItem
of
canvasItem
.
list
)
{
list
.
push
(
this
.
drawImage
(
canvas
,
listItem
));
}
await
Promise
.
all
(
list
);
let
base
=
canvas
.
toDataURL
(
"image/png"
,
1
);
// console.log("base", base);
canvas
.
remove
();
imageList
.
push
(
base
);
}
resolve
(
imageList
);
}
catch
(
e
)
{
// console.log(e);
reject
(
e
);
// 基础参数校验,避免空值/非数组导致后续循环报错
if
(
!
Array
.
isArray
(
canvasList
))
{
throw
new
Error
(
"canvasList必须是数组类型"
);
}
const
imageList
=
[];
// 遍历每个canvas配置项,串行处理(保持原逻辑,若想并行可改成Promise.all(canvasList.map(...)))
for
(
const
canvasConfig
of
canvasList
)
{
// 解构赋值,简化后续取值,同时校验核心属性
const
{
canvasWidth
,
canvasHeight
,
list
:
drawItems
}
=
canvasConfig
;
if
(
!
canvasWidth
||
!
canvasHeight
||
!
Array
.
isArray
(
drawItems
))
{
throw
new
Error
(
"canvas配置项必须包含canvasWidth/canvasHeight/list(数组)属性"
,
);
}
});
// 创建临时canvas
const
canvas
=
document
.
createElement
(
"canvas"
);
canvas
.
className
=
"createCanvas"
;
canvas
.
width
=
canvasWidth
;
canvas
.
height
=
canvasHeight
;
// 批量执行绘制方法,收集异步绘制Promise(语义化变量名,替代原模糊的list)
const
drawPromises
=
drawItems
.
map
((
drawItem
)
=>
this
.
drawImage
(
canvas
,
drawItem
),
);
// 等待当前canvas的所有绘制操作完成
await
Promise
.
all
(
drawPromises
);
// 转base64/png(质量1保持原逻辑)
const
base64
=
canvas
.
toDataURL
(
"image/png"
,
1
);
// 移除临时canvas,释放内存
canvas
.
remove
();
// 推入结果列表
imageList
.
push
(
base64
);
}
// async函数本身返回Promise,直接return即可,无需手动resolve
return
imageList
;
},
// async canvasToImage(canvasList) {
// return new Promise(async (resolve, reject) => {
// let imageList = [];
// try {
// for (let canvasItem of canvasList) {
// const canvas = document.createElement("canvas");
// canvas.className = "createCanvas";
// canvas.width = canvasItem.canvasWidth;
// canvas.height = canvasItem.canvasHeight;
// let list = [];
// for (let listItem of canvasItem.list) {
// list.push(this.drawImage(canvas, listItem));
// }
// await Promise.all(list);
// let base = canvas.toDataURL("image/png", 1);
// // console.log("base", base);
// canvas.remove();
// imageList.push(base);
// }
// resolve(imageList);
// } catch (e) {
// // console.log(e);
// reject(e);
// }
// });
// },
base64ToFile
(
base64
,
fileName
)
{
let
arr
=
base64
.
split
(
","
);
let
bstr
=
atob
(
arr
[
1
]);
...
...
@@ -548,10 +594,14 @@ export default {
}
if (this.detail && !this.isAutoFinish && this.desktopDevice == 3) {
bus.$emit("
busEmit
", {
value: this.detail.newId,
type: "
completeFail
",
});
const canCallApi =
this.detail.saveImgList?.every((el) => el.power) ?? false;
if (canCallApi) {
bus.$emit("
busEmit
", {
value: this.detail.newId,
type: "
completeFail
",
});
}
}
//判断生产单号是否为空
if (this.productionNo === "")
...
...
src/views/design/main/index.vue
View file @
79f8c6dd
...
...
@@ -1286,7 +1286,9 @@ export default {
`订单:
${
this
.
detail
.
newId
}
`
,
`<strong>订单:
${
this
.
detail
.
newId
}
</strong>`
,
)
.
replace
(
/生产完成/
,
'<span style="color:#85ce61">生产完成</span>'
);
.
replace
(
/生产完成/
,
'<span style="color:#85ce61">生产完成</span>'
)
.
replace
(
/未生产完成/
,
'<span style="color:#f56c79">未生产完成</span>'
);
},
clearLocalFn
()
{
setOrderInfo
([]);
...
...
@@ -1321,7 +1323,7 @@ export default {
this
.
localeData
=
getOrderInfoMap
();
break
;
case
"completeFail"
:
this
.
logList
.
unshift
(
`订单:
${
value
}
打印完成,未点击
生产完成`
);
this
.
logList
.
unshift
(
`订单:
${
value
}
已打印完成,未
生产完成`
);
this
.
localeData
=
getOrderInfoMap
();
break
;
case
"grid"
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment