From c514f7a1c060636d937f44154f26e5d534f888a6 Mon Sep 17 00:00:00 2001 From: qingyu <14049064+qingyuya123@user.noreply.gitee.com> Date: Sat, 28 Jun 2025 17:42:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=93=81=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=86=85=E5=AE=B9--=E5=8A=9F=E8=83=BD=E7=89=B9?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/product/components/EditDialog.vue | 108 ++++++++++++++++---- 1 file changed, 90 insertions(+), 18 deletions(-) diff --git a/src/views/product/components/EditDialog.vue b/src/views/product/components/EditDialog.vue index 0a64306..ba87c93 100644 --- a/src/views/product/components/EditDialog.vue +++ b/src/views/product/components/EditDialog.vue @@ -20,7 +20,7 @@
- {{ item.value }} + {{ item.categoryIDName }}
@@ -51,17 +51,55 @@ - - + + + + + + + + + 删除 + + + + + + 新增产品功能特点 + + + + + + + + + + + + + --> - + - + @@ -186,6 +224,7 @@ import apis from '@/apis' import { useForm, useModal,useSpining } from '@/hooks' import { message } from 'ant-design-vue' import { useI18n } from 'vue-i18n' + import dayjs from 'dayjs' import { createProductCategory, @@ -194,6 +233,7 @@ import { getProductObj, getProductsItem, updateProductsItem, } from '@/apis/modules/products' +import { spliceUrl } from '@/utils/util' const areaFormRef = ref() const emit = defineEmits(['ok']) const { t } = useI18n() // 解构出t方法 @@ -207,6 +247,8 @@ const roles = ref([]) const imgUrl = ref('') const areaList = ref([]) const images = ref([]) +const mainImage = ref([]) +const contentImage = ref([]) const childOpen = ref(false) const formArea = ref({ name: '', status: 'enabled' }) formRules.value = { @@ -219,7 +261,7 @@ formRules.value = { standard: [{ required: true, message: '请输入产品标准' }], images: [{ required: true, message: '请上传产品图片' }], mainImage: { required: true, message: '请上传产品图片' }, - contentImage: { required: true, message: '请上传产品内容图片' }, + contentImage: { required: false, message: '请上传产品内容图片' }, sequence: [{ required: true, message: '请输入产品排序' }], status: [{ required: true, message: '请选择状态', trigger: 'change' }], } @@ -247,6 +289,7 @@ const initDataBatch = async (configs) => { }) areaList.value = [...areaList.value, ...mapped] + console.log(areaList.value) console.log('after merge:', areaList.value) } }) @@ -284,7 +327,12 @@ function handleCreate() { categoryID: '', compose: '', target: '', - feature: [], + feature: [{ + label:'功能特点', + data:[{ + msg:[''], + }] + }], standard: [{ label: '', val: '' , @@ -364,11 +412,19 @@ async function handleEdit(record = {}) { fu_hoao: '' , prx: '' , }], + feature:data.feature|| [{ + label:'功能特点', + data:[{ + msg:[''], + }] + }], // images:data.images || [''], - mainImage: data.images?.[0] || '', - contentImage: data.images?.[1] || '', + mainImage: data.images?[config('http.apiBasic')+data.images[0]]:[''], + contentImage:data.images?[config('http.apiBasic')+data.images[1]]:[''], } - imgUrl.value = config('http.apiBasic') + data.img + // imgUrl.value = config('http.apiBasic') + data.img + mainImage.value = config('http.apiBasic') + data.images?.[0] , + contentImage.value = config('http.apiBasic') + data.images?.[1] , console.log('编辑产品数据:',formData.value); } @@ -382,23 +438,29 @@ function handleOk() { showLoading() const params = { ...values, - standard:formData.value.standard|| + standard:formData.value.standard || [{ label: '', val: '' , fu_hoao: '' , prx: '' , }], + feature:formData.value.feature|| [{ + label:'功能特点', + data:[{ + msg:[''], + }] + }], images: [ ...(Array.isArray(formData.value.mainImage) ? formData.value.mainImage : [formData.value.mainImage] - ).filter(Boolean).map(item => String(item)), + ).filter(Boolean).map(item => spliceUrl(item)), ...(Array.isArray(formData.value.contentImage) ? formData.value.contentImage : [formData.value.contentImage] - ).filter(Boolean).map(item => String(item)) + ).filter(Boolean).map(item => spliceUrl(item)) ], } let result = null @@ -463,7 +525,17 @@ function removeStandard(index) { formData.value.standard.splice(index, 1) } } +// 添加标准 +function addFeature() { + formData.value.feature.push({ label: '', value: '' }) +} +// 删除标准 +function removeFeature(index) { + if (formData.value.feature.length > 1) { + formData.value.feature.splice(index, 1) + } +}