|
|
|
|
@ -63,7 +63,7 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item :label="t('MoldManagement.MoldBrandFormPage.drawings')" prop="drawings">
|
|
|
|
|
<UploadImgs v-model="drawingsValue" :limit="9" width="96px" height="96px" />
|
|
|
|
|
<UploadFile v-model="drawingsValue" :limit="9" :file-type="drawingFileTypes" :is-show-tip="false" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
@ -253,6 +253,7 @@ const formData = ref<MoldBrandVO>({
|
|
|
|
|
|
|
|
|
|
const manualFileTypes = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt']
|
|
|
|
|
const videoFileTypes = ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm']
|
|
|
|
|
const drawingFileTypes = ['dwg', 'dxf', 'step', 'stp', 'igs', 'iges']
|
|
|
|
|
|
|
|
|
|
const splitAssetValue = (value: unknown): string[] => {
|
|
|
|
|
if (!value) return []
|
|
|
|
|
@ -277,9 +278,23 @@ const splitAssetValue = (value: unknown): string[] => {
|
|
|
|
|
|
|
|
|
|
const normalizeAssetString = (value: unknown) => splitAssetValue(value).join(',')
|
|
|
|
|
|
|
|
|
|
// 图纸字段专用处理函数,支持 JSON 格式
|
|
|
|
|
const parseDrawingValue = (value: unknown): string => {
|
|
|
|
|
if (!value) return ''
|
|
|
|
|
if (typeof value === 'string') {
|
|
|
|
|
const trimmed = value.trim()
|
|
|
|
|
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
|
|
|
|
return trimmed
|
|
|
|
|
}
|
|
|
|
|
// 旧格式,直接返回
|
|
|
|
|
return trimmed
|
|
|
|
|
}
|
|
|
|
|
return JSON.stringify(value)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const drawingsValue = computed({
|
|
|
|
|
get: () => splitAssetValue((formData.value as any).drawings),
|
|
|
|
|
set: (value: any) => { ;(formData.value as any).drawings = normalizeAssetString(value) }
|
|
|
|
|
get: () => parseDrawingValue((formData.value as any).drawings),
|
|
|
|
|
set: (value: any) => { (formData.value as any).drawings = parseDrawingValue(value) }
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const operationManualValue = computed({
|
|
|
|
|
@ -455,7 +470,7 @@ const submitForm = async () => {
|
|
|
|
|
const payload: MoldBrandVO = {
|
|
|
|
|
...formData.value,
|
|
|
|
|
productIds: Array.isArray(formData.value.productIds) ? formData.value.productIds : [],
|
|
|
|
|
drawings: normalizeAssetString((formData.value as any).drawings),
|
|
|
|
|
drawings: (formData.value as any).drawings,
|
|
|
|
|
operationManual: normalizeAssetString((formData.value as any).operationManual),
|
|
|
|
|
operationVideo: normalizeAssetString((formData.value as any).operationVideo),
|
|
|
|
|
isEnable: Boolean(formData.value.isEnable)
|
|
|
|
|
|