Merge remote-tracking branch 'origin/main'

main
liutao 5 days ago
commit cd70a2b16c

@ -15,6 +15,7 @@ export interface PalletVO {
productId?: number | string
productCount?: number | string
qrcode?: string
templateJson?: string | any
purchaseDate?: string
useDate?: string
remark?: string

@ -193,6 +193,7 @@
:refresh-url="getQrcodeRefreshUrl()"
:refresh-disabled="!formData.id || !formData.code"
:refresh-confirm-text="t('ErpStock.Pallet.qrcodeRefreshConfirm')"
:template-json="formData.templateJson"
:print-data="buildPrintData()"
@refresh-success="handleQrcodeRefreshSuccess"
/>
@ -508,6 +509,7 @@ const formData = ref<PalletVO>({
productId: undefined,
productCount: undefined,
qrcode: undefined,
templateJson: undefined,
purchaseDate: undefined,
useDate: undefined,
remark: undefined
@ -556,8 +558,9 @@ const open = async (type: string, row?: PalletVO, defaults?: Partial<PalletVO>)
}
await hydrateSelectedProduct()
}
if (type === 'update' && row) {
await applyPalletDetail(row)
if (type === 'update' && row?.id) {
const data = await PalletApi.getPallet(Number(row.id))
await applyPalletDetail(data)
}
}
defineExpose({ open })
@ -569,6 +572,7 @@ const submitForm = async () => {
try {
const data = { ...formData.value }
delete data.qrcode
delete data.templateJson
data.specification = buildSpecification()
if (data.isCode) {
data.code = undefined
@ -608,6 +612,7 @@ const buildPrintData = () => {
specification: buildSpecification() || formData.value.specification,
warehouseId: formData.value.warehouseId,
areaId: formData.value.areaId,
qrcode: formData.value.qrcode,
qrcodeUrl: formData.value.qrcode
}
}
@ -617,10 +622,21 @@ const getQrcodeRefreshUrl = () => {
return `/erp/pallet/regenerate-code?id=${formData.value.id}&code=${encodeURIComponent(String(formData.value.code))}`
}
const parseTemplateJson = (templateJson: PalletVO['templateJson']) => {
if (!templateJson || typeof templateJson !== 'string') return templateJson
try {
return JSON.parse(templateJson)
} catch {
return undefined
}
}
const applyPalletDetail = async (data: PalletVO) => {
const templateJson = data?.templateJson
formData.value = {
...formData.value,
...data,
templateJson: parseTemplateJson(templateJson),
isCode: false
}
parseSpecification(formData.value.specification)
@ -839,6 +855,7 @@ const resetForm = () => {
productId: undefined,
productCount: undefined,
qrcode: undefined,
templateJson: undefined,
purchaseDate: undefined,
useDate: undefined,
remark: undefined

@ -220,7 +220,7 @@ const total = ref(0) // 列表的总页数
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
deviceId: undefined as unknown,
deviceId: undefined as number | undefined,
attributeCode: undefined,
attributeName: undefined,
attributeType: undefined
@ -263,6 +263,8 @@ watch(
return
}
queryParams.deviceId = val
selectedIds.value = []
tableRef.value?.clearSelection?.()
handleQuery()
},
{ immediate: true, deep: true }
@ -350,10 +352,16 @@ const handleImport = () => {
/** 导出按钮操作 */
const handleExport = async () => {
if (!props.deviceId) {
message.error(t('DataCollection.Device.messageSelectDeviceRequired'))
return
}
try {
await message.exportConfirm()
exportLoading.value = true
const params: any = {}
const params: any = {
deviceId: props.deviceId
}
if (selectedIds.value.length) {
params.ids = selectedIds.value.join(',')
}

@ -148,6 +148,7 @@
<template #default="scope">
<el-switch
:model-value="isDeviceEnabled(scope.row)"
@click.stop
@change="(val) => handleDeviceEnableChange(scope.row, val)"
/>
</template>
@ -272,6 +273,7 @@
</div>
<el-switch
:model-value="isDeviceEnabled(item)"
@click.stop
@change="(val) => handleDeviceEnableChange(item, val)"
/>
<!-- <label class="toggle-switch">

@ -175,7 +175,7 @@ const queryParams = reactive({
dataUnit: undefined,
ratio: undefined,
remark: undefined,
deviceModelId: undefined,
deviceModelId: undefined as number | undefined,
createTime: [],
})
const queryFormRef = ref() //
@ -212,6 +212,9 @@ watch(
return
}
queryParams.id = val
queryParams.deviceModelId = val
selectedIds.value = []
tableRef.value?.clearSelection?.()
handleQuery()
},
{ immediate: true, deep: true }
@ -298,8 +301,8 @@ const handleBatchDelete = async () => {
/** 导出按钮操作 */
const handleExport = async () => {
if (!selectedIds.value.length) {
message.error('请选择需要导出的数据')
if (!props.id) {
message.error('请选择一个采集设备模型')
return
}
try {
@ -307,7 +310,10 @@ const handleExport = async () => {
await message.exportConfirm()
//
exportLoading.value = true
const data = await DeviceModelAttributeApi.exportDeviceModelAttribute({ ids: selectedIds.value.join(',') })
const data = await DeviceModelAttributeApi.exportDeviceModelAttribute({
deviceModelId: props.id,
ids: selectedIds.value.length ? selectedIds.value.join(',') : undefined,
})
download.excel(data, '采集设备模型-点位管理.xls')
} catch {
} finally {

Loading…
Cancel
Save