Merge remote-tracking branch 'origin/main'

main
liutao 3 weeks ago
commit cd70a2b16c

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

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

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

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

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

Loading…
Cancel
Save