包装优化

dev
qiuhongwu 3 months ago
parent c1d5d7d18d
commit 295eb258c6

@ -34,10 +34,10 @@ const formData: any = ref({
/** 打开弹窗 */ /** 打开弹窗 */
const minAmount = ref() const minAmount = ref()
const codes: any = ref() const Fdata: any = ref()
const vals: any = ref() const vals: any = ref()
const open = async (code, val) => { const open = async (fdata, val) => {
codes.value = code Fdata.value = fdata
dialogVisible.value = true dialogVisible.value = true
resetForm() resetForm()
minAmount.value = undefined minAmount.value = undefined
@ -78,8 +78,8 @@ const ranges = ref([])
const printref = ref() const printref = ref()
const rangeval = ref() const rangeval = ref()
const handleChangeRange = () => { const handleChangeRange = () => {
console.log(rangeval.value) // console.log(Fdata.value, vals.value, rangeval.value,'preview')
printref.value.open(codes.value, vals.value, rangeval.value) printref.value.open(Fdata.value, vals.value, rangeval.value)
selectedRow.value = null selectedRow.value = null
rangeval.value = null rangeval.value = null
} }

@ -258,7 +258,7 @@
<el-col> <el-col>
<el-card class="hl-incard"> <el-card class="hl-incard">
<el-col v-if="'update,create,alter'.indexOf(query.active) > -1"> <el-col v-if="'update,create,alter'.indexOf(query.active) > -1">
<el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem" <el-button class="hl-addbutton" :disabled="formData.packageStatus == 1" type="primary" size="large" @click="onAddItem"
>新增</el-button >新增</el-button
> >
</el-col> </el-col>
@ -288,7 +288,7 @@
> >
<el-input <el-input
v-model="row.ruleName" v-model="row.ruleName"
:disabled="detailDisabled" :disabled="detailDisabled||formData.packageStatus == 1"
placeholder="请输入规则名称" placeholder="请输入规则名称"
/> />
</el-form-item> </el-form-item>
@ -312,6 +312,7 @@
<template #default="scope"> <template #default="scope">
<el-button <el-button
v-if="'update,create,alter'.indexOf(query.active) > -1" v-if="'update,create,alter'.indexOf(query.active) > -1"
:disabled="formData.packageStatus == 1"
link link
type="primary" type="primary"
size="small" size="small"
@ -341,13 +342,19 @@
<div class="text-center hl-footer"> <div class="text-center hl-footer">
<el-button @click="() => router.back()" size="large"> </el-button> <el-button @click="() => router.back()" size="large"> </el-button>
<el-button <el-button
v-if="'update,create'.indexOf(query.active) > -1" v-if="'update,create'.indexOf(query.active) > -1 && formData.packageStatus == 2"
@click="submitForm()" @click="submitForm()"
type="primary" type="primary"
size="large" size="large"
> </el-button > </el-button
> >
<el-button type="success" @click="submitFormpack" size="large">包装完成</el-button> <el-button
type="success"
@click="submitFormpack"
size="large"
v-if="'update,create'.indexOf(query.active) > -1 && formData.packageStatus == 2"
>包装完成</el-button
>
</div> </div>
</el-card> </el-card>
<!-- 表单弹窗物料列表 --> <!-- 表单弹窗物料列表 -->
@ -514,19 +521,19 @@ const packstatus = ref({
packageStatus: undefined, packageStatus: undefined,
isUrgency: formData.value.isUrgency, isUrgency: formData.value.isUrgency,
active: 1, active: 1,
orderStatus:formData.value.orderStatus, orderStatus: formData.value.orderStatus,
status:1, status: 1,
customerId:1, customerId: 1
}) })
// //
const submitFormpack = async () => { const submitFormpack = async () => {
try{ try {
await ProjectOrderApi.saleOrderUpdatePackageStatus(packstatus.value) await ProjectOrderApi.saleOrderUpdatePackageStatus(packstatus.value)
}finally{ } finally {
message.success(t('操作成功')) message.success(t('操作成功'))
reload() reload()
} }
} }
/** 新增子项按钮操作 */ /** 新增子项按钮操作 */
const onAddItem = () => { const onAddItem = () => {
@ -644,7 +651,9 @@ const selectedRow = ref<string | null>(null) // 新增,用于存储当前选
const ranges = ref([]) const ranges = ref([])
const previewref = ref() const previewref = ref()
const handlePrint = (val) => { const handlePrint = (val) => {
previewref.value?.open(formData.value.code, val) // console.log(formData.value,val,'detail');
previewref.value?.open(formData.value, val)
} }
</script> </script>
<style> <style>

@ -126,8 +126,8 @@ const outopen = () => {
const printCodeName = ref([]) const printCodeName = ref([])
const datavals = ref([]) const datavals = ref([])
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (code, vals, val) => { const open = async (Fdata, vals, val) => {
console.log(code, vals, val) // console.log(Fdata, vals, val, 'print')
datavals.value = [] datavals.value = []
printCodeName.value = [] printCodeName.value = []
vals.forEach((item) => { vals.forEach((item) => {
@ -148,7 +148,7 @@ const open = async (code, vals, val) => {
for (let i = val[0] * 1; i <= val[1] * 1; i++) { for (let i = val[0] * 1; i <= val[1] * 1; i++) {
// printCodeName // printCodeName
const newName = `${code}-${vals[0].clauseId}-${i}` const newName = `${Fdata.id}-${vals[0].clauseId}-${i}`
printCodeName.value.push(newName) printCodeName.value.push(newName)
} }
// console.log(printCodeName.value) // console.log(printCodeName.value)
@ -159,15 +159,29 @@ const open = async (code, vals, val) => {
const qrCodeData = await QRCode.toDataURL(item) const qrCodeData = await QRCode.toDataURL(item)
const qrCodeElement = document.getElementById('qrCodeContainer') const qrCodeElement = document.getElementById('qrCodeContainer')
if (qrCodeElement) { if (qrCodeElement) {
var tempString = "" var tempString = ''
datavals.value.forEach(e=>{tempString+='<span style="margin-left:30px;">'+e.projectSubName+' , '+e.spec+' , '+e.sort+' , '+e.amount+'</span>'}) datavals.value.forEach((e) => {
qrCodeElement.innerHTML += `<div class="page qr-page"> tempString +=
'<span style="margin-left:30px;">' +
e.projectSubName +
' , ' +
e.spec +
' , ' +
e.sort +
' , ' +
e.amount +
'</span>'
})
qrCodeElement.innerHTML +=
`<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)${code}</p> <p>订单名称(Order name)${Fdata.code}</p>
<hr/> <hr/>
<p>产品清单(Product list)</p>`+tempString+` <p>产品清单(Product list)</p>` +
tempString +
`
</div> </div>
</div> </div>
@ -231,7 +245,6 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
.qr-code-container-item { .qr-code-container-item {
width: 100mm; width: 100mm;
height: 69mm; height: 69mm;
} }
/* /*
A4的大小21cm*29.7cmwidth:794px; A4的大小21cm*29.7cmwidth:794px;

Loading…
Cancel
Save