|
|
@ -145,8 +145,10 @@ const open = async (Fdata, vals, val) => {
|
|
|
|
const matchingCnen = cnenList.value.find((cnen) => item.projectSubName.includes(cnen.cn))
|
|
|
|
const matchingCnen = cnenList.value.find((cnen) => item.projectSubName.includes(cnen.cn))
|
|
|
|
let projectSubNames = item.projectSubName
|
|
|
|
let projectSubNames = item.projectSubName
|
|
|
|
if (matchingCnen) {
|
|
|
|
if (matchingCnen) {
|
|
|
|
const regex = new RegExp(matchingCnen.cn, 'g')
|
|
|
|
cnenList.value.forEach((cnen) => {
|
|
|
|
projectSubNames = projectSubNames.replace(regex, `${matchingCnen.en}`)
|
|
|
|
const regex = new RegExp(cnen.cn, 'g')
|
|
|
|
|
|
|
|
projectSubNames = projectSubNames.replace(regex, `${cnen.en}`)
|
|
|
|
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const row = {
|
|
|
|
const row = {
|
|
|
|
projectSubName: item.projectSubName + '(' + projectSubNames + ')',
|
|
|
|
projectSubName: item.projectSubName + '(' + projectSubNames + ')',
|
|
|
@ -157,39 +159,37 @@ const open = async (Fdata, vals, val) => {
|
|
|
|
// 循环结束后,再对所有收集的 specs 进行去重
|
|
|
|
// 循环结束后,再对所有收集的 specs 进行去重
|
|
|
|
const uniqueSpecs = new Set(allSpecs)
|
|
|
|
const uniqueSpecs = new Set(allSpecs)
|
|
|
|
specarr.value = Array.from(uniqueSpecs)
|
|
|
|
specarr.value = Array.from(uniqueSpecs)
|
|
|
|
// 检查val是否在1到100范围内且不包含负号
|
|
|
|
|
|
|
|
// 删除可能存在的负号(虽然在这个例子中并不需要)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val = val.replace('-', ',')
|
|
|
|
|
|
|
|
val = val.split(',')
|
|
|
|
|
|
|
|
// console.log(val)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (let i = val[0] * 1; i <= val[1] * 1; i++) {
|
|
|
|
for (let i = val.min; i <= val.max * 1; i++) {
|
|
|
|
// 构建新的字符串并添加到printCodeName数组
|
|
|
|
// 构建新的字符串并添加到printCodeName数组
|
|
|
|
const newName = `${Fdata.id}-${vals[0].clauseId}-${i}`
|
|
|
|
const newName = `${Fdata.id}-${vals[0].clauseId}-${i}`
|
|
|
|
printCodeName.value.push(newName)
|
|
|
|
const row = {
|
|
|
|
|
|
|
|
index: i,
|
|
|
|
|
|
|
|
name: newName
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
printCodeName.value.push(row)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// console.log(printCodeName.value)
|
|
|
|
// console.log(printCodeName.value)
|
|
|
|
|
|
|
|
|
|
|
|
dialogVisible.value = true
|
|
|
|
dialogVisible.value = true
|
|
|
|
await Promise.all(
|
|
|
|
await Promise.all(
|
|
|
|
printCodeName.value.map(async (item, index) => {
|
|
|
|
printCodeName.value.map(async (item) => {
|
|
|
|
const qrCodeData = await QRCode.toDataURL(item)
|
|
|
|
const qrCodeData = await QRCode.toDataURL(item.name)
|
|
|
|
const qrCodeElement = document.getElementById('qrCodeContainer')
|
|
|
|
const qrCodeElement = document.getElementById('qrCodeContainer')
|
|
|
|
if (qrCodeElement) {
|
|
|
|
if (qrCodeElement) {
|
|
|
|
var tempString = ''
|
|
|
|
var tempString = ''
|
|
|
|
datavals.value.forEach((e) => {
|
|
|
|
datavals.value.forEach((e) => {
|
|
|
|
tempString +=
|
|
|
|
tempString +=
|
|
|
|
'<p style="margin-left:30px;">' + e.projectSubName + ' , ' + e.amount + '</p>'
|
|
|
|
'<p style="margin-left:30px;">' + e.projectSubName + ' , ' + e.amount + '</p>'
|
|
|
|
})
|
|
|
|
}),
|
|
|
|
qrCodeElement.innerHTML +=
|
|
|
|
(qrCodeElement.innerHTML +=
|
|
|
|
`<div class="page qr-page">
|
|
|
|
`<div class="page qr-page">
|
|
|
|
<div class="qr-code-container" style=" padding:0 5mm; border:1px #d3d3d3 solid;display:flex; justify-content: flex-start; font-size:16px;font-weight:700;">
|
|
|
|
<div class="qr-code-container" style=" padding:0 5mm; border:1px #d3d3d3 solid;display:flex; justify-content: flex-start; font-size:16px;font-weight:700;">
|
|
|
|
<img src="${qrCodeData}" width="30%" alt="QR Code"/>
|
|
|
|
<img src="${qrCodeData}" width="30%" alt="QR Code"/>
|
|
|
|
<div style="margin-left:5mm;text-align:left;" >
|
|
|
|
<div style="margin-left:5mm;text-align:left;" >
|
|
|
|
<p>订单名称(Order name):${Fdata.code}</p>
|
|
|
|
<p>订单名称(Order name):${Fdata.code}</p>
|
|
|
|
<hr/>
|
|
|
|
<hr/>
|
|
|
|
<p>序号(Serial number):${specarr.value}-${index + 1}</p>
|
|
|
|
<p>序号(Serial number):${specarr.value}-${item.index}</p>
|
|
|
|
<hr/>
|
|
|
|
<hr/>
|
|
|
|
<p>产品清单(Product list):</p>` +
|
|
|
|
<p>产品清单(Product list):</p>` +
|
|
|
|
tempString +
|
|
|
|
tempString +
|
|
|
@ -197,7 +197,7 @@ const open = async (Fdata, vals, val) => {
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>`
|
|
|
|
</div>`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
)
|
|
|
|
)
|
|
|
|