pc端 app 包装模块完善

dev
qiuhongwu 3 months ago
parent 6fb118d983
commit 871976f852

@ -121,7 +121,10 @@ export const getProjectOrderclauseDetail = async (id: number) => {
export const saleOrderPackingClause = async (data: ProjectOrderVO) => {
return await request.post({ url: `/biz/sale-order-packing-clause/save`, data })
}
//删除包装规则
export const saleOrderPackingClauseDelete = async (id:number) => {
return await request.delete({ url: `/biz/sale-order-packing-clause/delete?id=` + id })
}
//包装状态/biz/project-order/update-package_status
export const saleOrderUpdatePackageStatus = async (data: ProjectOrderVO) => {
return await request.put({ url: `/biz/project-order/update-package_status`,data})

@ -37,8 +37,7 @@
min-width="110"
/>
<el-table-column label="单位" align="center" prop="unit" width="90" />
<el-table-column label="显示顺序" align="center" prop="sort" width="180">
<template #header> <span class="hl-table_header">*</span>显示顺序</template>
<el-table-column label="显示顺序" align="center" prop="sort" width="180">
<template #default="scope">
<el-input-number
min="1"
@ -64,14 +63,11 @@
</el-table-column>
<el-table-column label="箱数量" align="center" prop="integer" min-width="100" />
<el-table-column label="剩余数量" align="center" prop="remainder" min-width="100" />
<el-table-column label="操作" align="center" prop="" fixed="right" min-width="120" >
<el-table-column label="操作" align="center" prop="" fixed="right" min-width="120">
<template #default="scope">
<el-button
type="danger"
link
size="small"
@click="onDeleteItem(scope.$index)"
>删除</el-button>
<el-button type="danger" link size="small" @click="onDeleteItem(scope.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -116,7 +112,9 @@ const formData = ref({
List: []
})
const subFormRef = ref() // Ref
const subFormRules = reactive({
amount: [{ required: true, message: t('每箱配比是必填项'), trigger: 'blur' }]
})
/** 打开弹窗 */
const fid = ref()
const open = async (fData, val, index) => {
@ -128,7 +126,6 @@ const open = async (fData, val, index) => {
if (val.id) {
const data = await ProjectOrderApi.getProjectOrderclauseDetail(val.id)
data.forEach((item) => {
item.integer = Math.trunc(item.orderAmount / item.amount)
item.remainder = item.orderAmount - item.integer * item.amount
formData.value.List.push(item)
@ -147,6 +144,10 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */
const emit = defineEmits(['success']) // success
const submitForm = async () => {
if (formData.value.List.some((row) => !row.amount)) {
message.error(t('请填写所有每箱配比'))
return
}
dialogVisible.value = false
emit('success', formData.value)
}

@ -258,7 +258,12 @@
<el-col>
<el-card class="hl-incard">
<el-col v-if="'update,create,alter'.indexOf(query.active) > -1">
<el-button class="hl-addbutton" :disabled="formData.packageStatus == 1" type="primary" size="large" @click="onAddItem"
<el-button
class="hl-addbutton"
:disabled="formData.packageStatus == 1"
type="primary"
size="large"
@click="onAddItem"
>新增</el-button
>
</el-col>
@ -288,7 +293,7 @@
>
<el-input
v-model="row.ruleName"
:disabled="detailDisabled||formData.packageStatus == 1"
:disabled="detailDisabled || formData.packageStatus == 1"
placeholder="请输入规则名称"
/>
</el-form-item>
@ -308,8 +313,18 @@
min-width="220"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" width="150">
<el-table-column label="操作" align="center" width="180">
<template #default="scope">
<el-button
v-if="'update,create,alter'.indexOf(query.active) > -1"
:disabled="formData.packageStatus == 1"
link
type="danger"
size="small"
@click="DangerDetail(scope.row, scope.$index)"
>
删除
</el-button>
<el-button
v-if="'update,create,alter'.indexOf(query.active) > -1"
:disabled="formData.packageStatus == 1"
@ -558,6 +573,16 @@ const handlechestSuccess = (val) => {
})
List.value[val.index].saleOrderPackingClauseDetails = val.List
}
//
const DangerDetail = async (val, index) => {
List.value.splice(index, 1)
if (val.id) {
await ProjectOrderApi.saleOrderPackingClauseDelete(val.id)
message.success(t('删除成功'))
}
}
/** 重置表单 */
const resetForm = () => {
formData.value = {
@ -652,7 +677,7 @@ const ranges = ref([])
const previewref = ref()
const handlePrint = (val) => {
// console.log(formData.value,val,'detail');
previewref.value?.open(formData.value, val)
}
</script>

@ -131,11 +131,15 @@ const open = async (Fdata, vals, val) => {
datavals.value = []
printCodeName.value = []
vals.forEach((item) => {
console.log(item, 'item');
if (item.sort == null|| item.sort == undefined) {
item.sort = ''
}
const row = {
projectSubName: item.projectSubName,
spec: '规格' + item.spec,
sort: '序号' + item.sort,
amount: '数量' + item.amount
projectSubName: '产品:' + item.projectSubName,
spec: '规格:' + item.spec,
sort: '序号:' + item.sort,
amount: '数量:' + item.amount
}
datavals.value.push(row)
})
@ -162,7 +166,7 @@ const open = async (Fdata, vals, val) => {
var tempString = ''
datavals.value.forEach((e) => {
tempString +=
'<span style="margin-left:30px;">' +
'<p style="margin-left:30px;">' +
e.projectSubName +
' , ' +
e.spec +
@ -170,11 +174,11 @@ const open = async (Fdata, vals, val) => {
e.sort +
' , ' +
e.amount +
'</span>'
'</p>'
})
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"/>
<div style="margin-left:5mm;text-align:left;" >
<p>订单名称(Order name)${Fdata.code}</p>
@ -182,9 +186,9 @@ const open = async (Fdata, vals, val) => {
<p>产品清单(Product list)</p>` +
tempString +
`
</div>
</div>
</div>
</div>`
}
})

@ -106,7 +106,7 @@ const handleList = ()=> {
</view>
<view class="code label">产品编码: {{ item.projectSubCode }}</view>
<view class="name label">产品名称: {{ item.projectSubName }}</view>
<view class="name label">规格/型号: {{ item.spec }}</view>
<!-- <view class="name label">规格/型号: {{ item.spec }}</view> -->
<view class="item-row">
<view class="procedureName label">报工工序: {{ item.procedureName }}</view>
<!-- <view class="code label">报工数量: {{ item.amount }}</view> -->

@ -74,7 +74,7 @@ const onRefresherrefresh = async () => {
<view class="time label">报工时间: {{ item.createTime }}</view>
<view class="code label">产品编码: {{ item.projectSubCode }}</view>
<view class="name label">产品名称: {{ item.projectSubName }}</view>
<view class="name label">规格/型号: {{ item.spec }}</view>
<!-- <view class="name label">规格/型号: {{ item.spec }}</view> -->
<view class="item-row">
<view class="procedureName label">报工工序: {{ item.procedureName }}</view>
<!-- <view class="code label">报工数量: {{ item.amount }}</view> -->

Loading…
Cancel
Save